首先,我支持公司代理。我正在使用docker 1.12.0
使用OSX,我的.bash_profile
看起来像这样:
export http_proxy='http://server-ip:port/'
export https_proxy='http://server-ip:port/'
export no_proxy='localhost,0.0.0.0,127.0.0.1'
让我感到困惑的是,我能够毫无问题地拉出ubuntu
图像。
docker pull ubuntu:latest
当我尝试拉centos
时,我收到以下错误:
docker pull centos:latest
latest: Pulling from library/centos
8d30e94188e7: Pulling fs layer
dial tcp i/o timeout
我已经准备好了this post关于centos连接问题。我相信我已按照建议的答案但仍然没有运气。
我可以在我的个人计算机上没有任何问题地提取图像,所以我知道它必须是代理的东西。非常感谢任何建议!
答案 0 :(得分:1)
现在这是非常明显的,而不是首先转向互联网,我应该只是检查偏好选项。
在Docker for Mac中,安装v1.12.0
后,单击工具栏中的泊坞窗图标(时钟旁边的右上角),然后选择"偏好设置"。
在" Advanced"选项卡,您可以输入代理信息。
谢谢你的时间,我很感激!
答案 1 :(得分:0)
请在笔记本电脑上拉出并保存图像。在没有互联网连接的情况下将图像传输到服务器并使用docker load。
希望这有效。
答案 2 :(得分:0)
在.bashrc中设置环境变量将更新您作为用户运行的任何命令的网络配置。但是,Docker被设计为客户端/服务器应用程序,图像拉取从服务器(dockerd)运行。 Docker有docs on how to configure systemd with a proxy可以解决您的问题。简而言之,您需要调整以下内容:
sudo -s
mkdir /etc/systemd/system/docker.service.d
cat >/etc/systemd/system/docker.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://server-ip:port/"
EOF
systemctl daemon-reload
systemctl restart docker
exit
如果您没有安装systemd,您应该能够编辑/ etc / default / docker。您需要添加的条目为export http_proxy="http://server-ip:port/"
。
最后,我现在看到你在MacOS上(关于CentOS的问题是一个红色的鲱鱼,因为我确定你无法提取任何图像,而你实际上并没有运行CentOS)。在boot2docker中,您有以下过程:
boot2docker ssh
sudo vi /var/lib/boot2docker/profile
# include your "export HTTP_PROXY=http://server-ip:port/" here
sudo /etc/init.d/docker restart
exit