微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker – 无法找到图像错误,如何设置代理以下载图像

我需要设置公司代理,以便Docker可以从公共注册表下载图像.

$sudo docker run hello-world 
Unable to find image 'hello-world:latest' locally 
Pulling repository docker.io/library/hello-world 
Error while pulling image: Get https://index.docker.io/v1/repositories/library/hello-world/images: dial tcp: lookup index.docker.io: no such host

我正在使用Ubuntu 12.04机器.我找到了this answer但是在Ubuntu 12.04中没有systemctl.我怎样才能做到这一点?

谢谢.

最佳答案
来自Docker官方文档,

为docker服务创建systemd插件目录:

$sudo mkdir -p /etc/systemd/system/docker.service.d

创建一个名为/etc/systemd/system/docker.service.d/http-proxy.conf的文件,该文件添加了HTTP_PROXY环境变量:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

或者,如果您位于HTTPS代理服务器后面,请创建名为/etc/systemd/system/docker.service.d/https-proxy.conf的文件,该文件添加HTTPS_PROXY环境变量:

[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/"

如果您有内部Docker注册表,您需要联系而无需代理,您可以通过NO_PROXY环境变量指定它们:

[Service]    
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

或者,如果您在HTTPS代理服务器后面:

[Service]    
Environment="HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,docker-registry.somecorporation.com"

同花顺变化:

$sudo systemctl daemon-reload

重启Docker:

$sudo systemctl restart docker

验证是否已加载配置:

$systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/

或者,如果您在HTTPS代理服务器后面:

$systemctl show --property=Environment docker
Environment=HTTPS_PROXY=https://proxy.example.com:443/

原文地址:https://www.jb51.cc/docker/436200.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐