日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Docker 代理配置

由于公司 Lab 服務器無法正常訪問公網,想要下載一些外部依賴包需要配置公司的內部代理。Docker 也是同理,想要訪問公網需要配置一定的代理。

Docker 代理分為兩種,一種是為運行的 Container 配置代理,用于下載一些依賴包以及訪問公網。另一種是為 Docker Daemon 配置代理,用于支持 docker 相關的命令。

一文詳解Docker 代理脫坑

 

一、為容器配置代理

配置容器代理一般分為兩種,一種是全局配置,另一種是僅為某個容器配置。

1. 全局配置

首先說明,此修改方法僅支持 17.07 或者更高版本。

修改或創(chuàng)建 ~/.docker/config.json

# 如果有的話,先備份一下cp ~/.docker/config.json ~/.docker/config.json.bk# 修改內容如下cat ~/.docker/config.json{        "auths": {},        "HttpHeaders": {                "User-Agent": "Docker-Client/19.03.2 (linux)"        },        "proxies":        {            "default":            {                "httpProxy": "http://173.39.112.117:80",                "httpsProxy": "http://173.39.112.117:80"            }        }}

為了確保生效,重啟下 docker :systemctl restart docker

此時宿主機并沒配置代理,查詢下 IP:

[root@localhost ~]# curl cip.ccIP      : 64.104.xxx.xx地址    : 中國  香港  cisco.com數據二  : 香港 | 特別行政區(qū)數據三  : 中國香港URL     : http://www.cip.cc/64.104.xxx.xx

基于之前使用 Docker file 打包鏡像的文章,直接使用打包好帶有 systemd 功能的鏡像。

# 創(chuàng)建 container[root@localhost home] docker run --privileged=true -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 -d local/c7-systemd# 進入 container[root@localhost home] docker exec -it 3eaa1cc71706 /bin/bash# 查詢 IP[root@3eaa1cc71706 /]# curl cip.ccIP      : 173.39.112.xxx地址    : 新加坡  新加坡數據二  : 新加坡數據三  : 新加坡URL     : http://www.cip.cc/173.39.112.xxx

可以看到容器內已經成功配置了代理,可以正常下載依賴了。

2. 局部修改

方法1-在 docker run 命令添加參數

# 創(chuàng)建 containerdocker run --privileged=true -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro --env HTTP_PROXY="http://173.39.112.117:80 --env HTTPS_PROXY="http://173.39.112.117:80 --env http_proxy="http://173.39.112.117:80 --env https_proxy="http://173.39.112.117:80 -p 80:80 -d local/c7-systemd# 進入 container[root@localhost home]# docker exec -it 3607976e8f2d /bin/bash# 查詢 IP[root@3607976e8f2d /]# curl cip.ccIP      : 173.39.112.xxx地址    : 新加坡  新加坡數據二  : 新加坡數據三  : 新加坡URL     : http://www.cip.cc/173.39.112.xxx

方法2-在 Docker-file 添加

這里以打包一個 httpd 的 docker file 為例子:

FROM local/c7-systemdENV MY_PROXY_URL="http://173.39.112.117:80"ENV HTTP_PROXY=$MY_PROXY_URL     HTTPS_PROXY=$MY_PROXY_URL     FTP_PROXY=$MY_PROXY_URL     http_proxy=$MY_PROXY_URL     https_proxy=$MY_PROXY_URL     ftp_proxy=$MY_PROXY_URLRUN yum -y install httpd; yum clean all; systemctl enable httpd.serviceEXPOSE 80CMD ["/usr/sbin/init"]

結果是相同的,這里就不演示了。有時添加代理是域名的話,就需要額外的操作。

 

3. 添加代理是域名的處理

如果添加的代理是域名的話,如 proxy.esl.cisco.com:80, 需要再做一步額外的處理。

方法1-通過 docker run 參數添加

# 創(chuàng)建 container[root@localhost home]#docker run --privileged=true -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro --env HTTP_PROXY="http://proxy.esl.cisco.com:80 --env HTTPS_PROXY="http://proxy.esl.cisco.com:80 --env http_proxy="http://proxy.esl.cisco.com:80 --env https_proxy="http://proxy.esl.cisco.com:80 --DNS=64.104.123.245 -p 80:80 -d local/c7-systemd# 進入 container[root@localhost home]# docker exec -it 992dc27de1cc /bin/bash# 查看 IP[root@992dc27de1cc /]# curl cip.ccIP      : 173.39.xxx.xxx地址    : 新加坡  新加坡數據二  : 新加坡數據三  : 新加坡URL     : http://www.cip.cc/173.39.xxx.xxx

方法2-通過修改 docker daemon 配置添加

在每個 container 運行前,會繼承 Docker daemon 的配置,在 /etc/docker/daemon.json 文件下.

# 為 docker daemon 添加 dns,在運行時會為每個 container 添加上cat /etc/docker/daemon.json{  "dns" : [    "8.8.4.4",    "8.8.8.8",    "Your_DNS_SERVER"  ],  "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}

效果一樣這里就不演示了。

 

二、為 Docker Daemon 添加代理

和 container 的情況一樣,如果不為 Docker Daemon 配置代理的話,是無法使用 search, pull, push 等命令的。

配置如下:

# STEP1-創(chuàng)建文件夾[root@localhost home]# sudo mkdir -p /etc/systemd/system/docker.service.d# STEP2-創(chuàng)建代理文件 http 和 https[root@localhost home]# cat /etc/systemd/system/docker.service.d/http-proxy.conf[Service]Environment="HTTP_PROXY=http://proxy.esl.cisco.com:80/"[root@localhost home]# cat /etc/systemd/system/docker.service.d/https-proxy.conf[Service]Environment="HTTPS_PROXY=http://proxy.esl.cisco.com:80/"# 如果希望訪問某些 Docker registries 不是用代理,可以在上面的配置文件后追加[Service]    Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"# STEP3-刷新變更[root@localhost home]# sudo systemctl daemon-reload# STEP4-重啟 Docker[root@localhost home]# sudo systemctl restart docker# STEP5-驗證代理是否生效[root@localhost home]# systemctl show --property=Environment dockerEnvironment=HTTP_PROXY=http://proxy.esl.cisco.com/ HTTPS_PROXY=http://proxy.esl.cisco.com:80/

分享到:
標簽:代理 Docker
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰(zhàn)2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定