【问题标题】:Can't pull docker image behind a proxy无法将 docker 镜像拉到代理后面
【发布时间】:2021-09-03 15:31:18
【问题描述】:

我正在尝试将图像拉到代理后面。

  1. 我已经设置了 docker 配置文件:~/.docker/config.json
{
 "proxies":
 {
   "default":
   {
     "httpProxy": "...",
     "httpsProxy": "..."
   }
 }
}
  1. 将 $DOCKER_CONFIG 设置为 [asbolute_path]/my_home/.docker

  2. 重启的 docker 守护进程:sudo systemctl restart docker

不工作。

我遵循的文档:

https://docs.docker.com/network/proxy/#configure-the-docker-client

有什么建议吗?

【问题讨论】:

  • 你遇到了什么错误?请尽可能提供可重现的问题

标签: image docker proxy pull


【解决方案1】:

你引用了一个错误的文档,configure-the-docker-client中提到的方法都是关于如何为容器设置默认代理,而不是docker daemon,而docker daemon是负责拉取docker镜像的程序。

正确的步骤如下:

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

  2. 新建一个文件/etc/systemd/system/docker.service.d/http-proxy.conf,类似下一个:

    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:80"
    Environment="HTTPS_PROXY=https://proxy.example.com:443"
    Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
    
  3. 用 next 重启 docker 守护进程:

    systemctl daemon-reload
    systemctl restart docker
    

注意:以上内容需要使用 sudo/root 执行。

如果你成功了,你应该在检查docker info之后看到下一个:

$ docker info | grep Proxy
 HTTP Proxy: http://proxy.example.com:80
 HTTPS Proxy: https://proxy.example.com:443
 No Proxy: localhost,127.0.0.1,docker-registry.example.com,.corp

详情参考official document

【讨论】:

  • 仍然没有使用代理...
猜你喜欢
  • 2016-01-08
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 2020-04-06
相关资源
最近更新 更多