我怎么能执行' apt-get install'在docker ubuntu上包含?

时间:2015-12-16 02:28:34

标签: node.js ubuntu docker

首先,我安装并运行了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引擎上安装它。

2 个答案:

答案 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值那样在中间或最终图像中保留。