Docker:使用MacOS,我如何将CENTOS拉到代理服务器后面?

时间:2016-09-08 16:37:34

标签: docker proxy centos

首先,我支持公司代理。我正在使用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连接问题。我相信我已按照建议的答案但仍然没有运气。

我可以在我的个人计算机上没有任何问题地提取图像,所以我知道它必须是代理的东西。非常感谢任何建议!

3 个答案:

答案 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