![](/img/trans.png)
[英]How to install nodejs in a repository of my choice using apt-get in ubuntu?
[英]How could I execute 'apt-get install' on docker ubuntu contain?
首先,我使用以下命令安装并运行了docker contains。
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引擎上。
尝试使用小写字母。
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
这意味着您的docker构建尚未使用新的docker 1.9+ build-arg参数启动 。 这样可以避免将完整的代理(有时可能包含您的凭据)放入Dockerfile中:
您可以在Dockerfile中使用
ENV
指令来定义变量值。 这些值将保留在生成的映像中。 但是,持久性通常不是您想要的。 用户希望根据在其上构建映像的主机来不同地指定变量。一个很好的例子是
http_proxy
或用于拉取中间文件的源版本。ARG
指令允许Dockerfile
作者使用--build-arg
标志定义用户可以在构建时设置的值:
$ docker build --build-arg HTTP_PROXY=http://10.20.30.2:1234 .
此标志允许您传递在
Dockerfile
的RUN
指令中像常规环境变量一样访问的构建时变量。 而且,这些值不会像ENV
值那样保留在中间或最终图像中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.