更新:直接参考Docker官方文档HTTP/HTTPS proxy即可

受限于网络环境,有的时候需要透过代理服务器pull docker镜像。

docker代理配置

修改Docker的systemd文件,添加http代理配置。

  1. 修改/lib/systemd/system/docker.service

    1EnvironmentFile=-/etc/sysconfig/docker
    
  2. 创建或修改/etc/sysconfig/docker

    1HTTP_PROXY=http://proxy.example.com:80/
    2HTTPS_PROXY=http://proxy.example.com:80/
    3NO_PROXY=localhost,127.0.0.1,internal-docker-registry.somecorporation.com
    4export HTTP_PROXY HTTPS_PROXY NO_PROXY
    
  3. 刷新配置,使代理生效

    1systemctl daemon-reload
    2systemctl restart docker
    

信任代理服务器证书

代理服务生效后,使用docker pull如果遇到certificate signed by unknown authority的问题,可能需要 在Docker服务器安装并信任代理服务证书。

1yum install -y ca-certificates
2
3update-ca-trust force-enable
4
5cp <proxy-server.crt> /etc/pki/ca-trust/source/anchors/
6
7update-ca-trust extract
8
9systemctl restart docker

参考文档