Docker容器技术 配置、部署与应用电子活页-04.07.为Docker守护进程配置HTTP和HTTPS代理.docx
为Docker守护进程配置HTTP/HTTPS代理
无法使用daemon.json文件配置HTTP/HTTPS代理。如果在HTTP/HTTPS代理服务器后面运行Docker主机,则需要进行相应的配置。Docker守护进程在它的启动环境中使用HTTP_PROXY、HTTPS_PROXY和NO_PROXY环境变量来配置HTTP/HTTPS代理的行为,这些环境变量不能通过daemon.json文件来配置,而要使用Docker的systemd服务文件来配置。下面进行示范,注意这里的配置会覆盖默认的docker.service文件。
(1)为docker服务创建一个可以存放systemd文件的目录,如下所示。
mkdir-p/etc/systemd/system/docker.service.d
(2)创建名为/etc/systemd/system/docker.service.d/http-proxy.conf的文件,并添加HTTP_PROXY环境变量定义,如下所示。
[Service]
Environment=HTTP_PROXY=:80/
如果Docker守护进程位于HTTPS代理服务器后面,则需要创建名为/etc/systemd/system/docker.service.d/https-proxy.conf的文件,并加入HTTPS_PROXY环境变量定义,如下所示。
[Service]
Environment=HTTPS_PROXY=:443/
(3)如果企业内部部署了Docker注册服务器,不需要使用代理方式的连接,则可以通过NO_PROXY环境变量明确指定。
[Service]
Environment=HTTP_PROXY=:80/NO_PROXY=localhost,
,
(4)执行以下命令重新加载systemd的配置文件。
systemctldaemon-reload
(5)重新启动Docker,如下所示。
systemctlrestartdocker
(6)执行以下命令验证配置是否已经加载。
systemctlshow--property=Environmentdocker
配置加载成功会显示如下信息。
Environment=HTTP_PROXY=:80/