利用squid建立代理服务器,让内网的docker服务器节点能够下载镜像
程序员文章站
2022-06-03 14:19:50
...
环境说明:
服务器A、B都是公司内部的网络,都只有一个网卡。
服务器A能够上互联网,查找和下载docker镜像。
服务器B为内网服务器,不能上互联网,搭建和应用k8s集群比较麻烦。
拟在A服务器安装squid代理软件,服务器B等内网服务器通过A的代理,实现能够下载docker镜像、上互联网的目的。
这个方案只是自己内部在用,安全等方面没有考虑。
一、代理服务器A
1、安装squid软件
[aaa@qq.com ~]# yum install -y squid
2、配置squid.conf配置文件
[aaa@qq.com ~]# vi /etc/squid/squid.conf
只修改了如下图所示的参数。
3、启动squid服务并验证
[aaa@qq.com ~]# systemctl start squid
[aaa@qq.com ~]# systemctl status squid
[aaa@qq.com ~]# netstat -ntlp | grep squid
二、内网服务器B
1、配置系统环境参数,并查看结果
(1)在~/.bashrc中设置代理参数
设置完成后,需要重新登录终端,或者source ~/.bashrc,使配置生效。
[aaa@qq.com ~]# vi ~/.bashrc
(2)访问百度网站,查看效果
[aaa@qq.com ~]# curl 202.108.22.5
可以看到返回了结果。
2、配置docker环境参数,并查看效果
(1)建立/etc/systemd/system/docker.service.d目录,并在该目录中建立http_proxy.conf配置文件。
[aaa@qq.com ~]# mkdir -p /etc/systemd/system/docker.service.d
[aaa@qq.com ~]# vi /etc/systemd/system/docker.service.d/http_proxy.conf
(2)重新启动docker,并看配置参数
[aaa@qq.com ~]# systemctl daemon-reload
[aaa@qq.com ~]# systemctl restart docker
[aaa@qq.com ~]# systemctl show --property=Environment docker
(3)通过docker查找镜像检查结果
查找镜像hello-world
[aaa@qq.com ~]# docker search hello-world
下载镜像hello-world
[aaa@qq.com ~]# docker pull hello-world