爲docker配置HTTP代理服務器

背景: node1不能訪問外網, node2能夠訪問外網,node1經過node2的代理服務來訪問外網。node

 

1. node1不能訪問外網docker

vim /etc/resolv.conf

 註釋掉DNS配置文件vim

 

2. node2搭建代理服務器, 這裏是在centos7.2上用Squid搭建HTTP代理服務器 [若是已經有其餘代理服務器,能夠忽略這步]centos

2.1 安裝bash

yum install  -y squid
yum install  -y httpd-tools

2.2 生成密碼文件服務器

mkdir /etc/squid/
# pill 是用戶名
htpasswd -cd /etc/squid/passwords pill
# 提示輸入密碼,在此pill設密碼爲 pill
# 注意密碼不要超過8位

2.3 測試密碼文件測試

/usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
# 輸入 用戶名 密碼
pill pill
# 提示OK說明成功,ERR是有問題,請檢查一下以前步驟
OK

# 測試完成,crtl + c 打斷

 

2.4 配置Squidui

vim /etc/squid/squid.conf

# 在最後添加

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

# 這裏是端口號,能夠按需修改
http_port 3128

2.5 啓動Squidcentos7

systemctl restart squid.service

 

3. 爲docker設置代理代理

3.1 建立目錄

mkdir -p /etc/systemd/system/docker.service.d

3.2 建立文件/etc/systemd/system/docker.service.d/http-proxy.conf,內容以下:

[Service]
Environment="HTTP_PROXY=http://pill:pill@node2:3128/"

3.3 重啓docker

systemctl daemon-reload
systemctl restart docker

3.4 驗證docker代理是否設置成功

systemctl show --property=Environment docker  

顯示以下結果說明設置成功

Environment=GOTRACEBACK=crash HTTP_PROXY=http://pill:pill@node2:3128/
相關文章
相關標籤/搜索