ubuntu 14.04 采用sysVinit 方式启动 , centos /ubuntu 16, 采用systemd方式,代理设置方式不一样。
对于ubuntu 14.04 采用sysVinit 的:
1. 设置/etc/default/docker 加入两行:
export http_proxy="http://192.168.12.16:7878/"
export HTTP_PROXY="http://192.168.12.16:7878/"
export https_proxy="https://192.168.12.16:7878/"
export HTTPS_PROXY="https://192.168.12.16:7878/
2.在 Dockerfile 文件中加入:
ENV http_proxy http://192.168.12.16:7878/
ENV HTTP_PROXY http://192.168.12.16:7878/
ENV https_proxy https://192.168.12.16:7878/
ENV HTTPS_PROXY https://192.168.12.16:7878/
对于 centos/Ubuntu 16.04 ,systemd方式的(复制http://stackoverflow.com/questions/26550360/docker-ubuntu-behind-proxy):
For Ubuntu 16.04 LTS
who uses Systemd
, you can follow this post:
(1) Create a systemd drop-in directory:
mkdir /etc/systemd/system/docker.service.d
(2) Add proxy in /etc/systemd/system/docker.service.d/http-proxy.conf
file:
# cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=https://web-proxy.corp.xxxxxx.com:8080/"
Environment="HTTPS_PROXY=https://web-proxy.corp.xxxxxx.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"
(3) Flush changes:
systemctl daemon-reload
(4) Restart Docker:
systemctl restart docker