首先,我安装并运行了docker包含使用下面的命令。
docker run -i -t ubuntu /bin/bash
然后我执行了以下命令。
root@d444a77039e7:/# apt-get update
0% [Connecting to archive.ubuntu.com (91.189.92.200)]
它一直在阻止。
然后我运行了以下命令,但遇到了问题。
root@d444a77039e7:/# apt-get install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package nodejs
然后我设置了http和https代理,如下所示,但它也失败了。
root@d444a77039e7:/# export HTTP_PROXY=http://proxy.xxx.com
root@d444a77039e7:/# export HTTPS_PROXY=http://proxy.xxx.com
你能告诉我怎样才能解决这个问题?谢谢。我的主机是redhat5.9,它不支持最新版本的nodejs。所以我计划在docker引擎上安装它。
答案 0 :(得分:0)
尝试使用小写字母。
export http_proxy=http://proxy.xxx.com
export https_proxy=http://proxy.xxx.com
超越此问题的正确方法是,您可以创建一个低于Dockerfile
的新图片,您无需再手动设置它。
FROM ubuntu
ENV http_proxy http://proxy.xxx.com
ENV https_proxy http://proxy.xxx.com
答案 1 :(得分:0)
这意味着您的docker版本尚未使用new docker 1.9+ build-arg arguments启动。这将避免在Dockerfile中放置完整代理(有时可能包括您的凭据):
您可以在Dockerfile中使用
$this->db->where('amount = discount');
指令来定义变量值。这些值在构建的图像中保留。但是,持久性往往不是你想要的。用户希望根据他们在哪个主机上构建图像来指定不同的变量。一个很好的例子是
ENV
或用于提取中间文件的源版本。http_proxy
指令允许ARG
作者定义用户可以使用Dockerfile
标志在构建时设置的值:
--build-arg
此标志允许您在
$ docker build --build-arg HTTP_PROXY=http://10.20.30.2:1234 .
的{{1}}指令中传递像常规环境变量一样访问的构建时变量。此外,这些值不会像RUN
值那样在中间或最终图像中保留。