1

我正在尝试在 EC2 VM 实例中运行 docker。该实例位于 http 代理后面。据我所知, docker 安装一切正常。

这是实例信息

Linux ip-X-X-X-X 3.8.0-31-generic #46~precise1-Ubuntu SMP Wed Sep 11 18:21:16 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我的 docker 版本是

Docker version 0.6.3, build b0a49a3

当我尝试运行一个简单的 docker 命令时,它会挂起很长时间。

$sudo docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu' (tag: latest) locally
Pulling repository ubuntu

我感觉这与我的 HTTP 代理设置有关。

我尝试以不同的方式设置代理。

例如,基于我尝试过,但它仍然无法正常工作。

$sudo HTTP_PROXY=http://proxy.xyz.com:8080 docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu' (tag: latest) locally
Pulling repository ubuntu

知道我在这里想念什么吗?

4

3 回答 3

3

在 Amazon Linux 上,将代理变量附加到/etc/sysconfig/docker

export no_proxy='localhost,127.0.0.0/8'
export NO_PROXY='localhost,127.0.0.0/8'
export http_proxy=http://<YOUR_PROXY>:<PROXY_PORT>/
export HTTPS_PROXY=http://<YOUR_PROXY>:<PROXY_PORT>/
export https_proxy=http://<YOUR_PROXY>:<PROXY_PORT>/
export HTTP_PROXY=http://<YOUR_PROXY>:<PROXY_PORT>/

然后重新启动 docker 守护进程 service docker restart

于 2017-05-03T14:06:14.567 回答
2

您需要使用 HTTP_PROXY 环境变量运行 Docker 守护程序,因为图像的提取是通过守护程序进行的。如果你在 Ubuntu 上,这可以通过修改/etc/init/docker.conf.

更新:

我们现在也正确支持/etc/default/docker,所以现在(在 Ubuntu 和 Debian 上)实现这一点的最好方法是通过export http_proxy=...inside /etc/default/docker

于 2013-10-06T20:02:27.333 回答
0

添加到tianon的答案是在修改配置文件后不要忘记重新启动docker守护进程:

sudo service docker restart

应用代理。

于 2014-08-19T06:52:09.757 回答