在nodejs高山泊坞窗图像上导出不被接受

我想添加一个http_proxy环境variables到nodejs高山docker图像。

Dockerfile看起来像这样

FROM node:6-alpine RUN export RUN export https_proxy='http://myproxy:8080' RUN export http_proxy='http://myproxy:8080' RUN export 

运行时的输出

 docker build -t myimage:latest . 

看起来像这样

  Step 1/5 : FROM node:6-alpine ---> 66cf88e4fc20 Step 2/5 : RUN export ---> Running in 61f5bda7989d export HOME='/root' export HOSTNAME='26ba10d264c2' export NODE_VERSION='6.9.5' export NPM_CONFIG_LOGLEVEL='info' export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' export PWD='/' export SHLVL='1' ---> f04aeb89f7d0 Removing intermediate container 61f5bda7989d Step 3/5 : RUN export https_proxy='http://myproxy:8080' ---> Running in 895d13321da8 ---> 6a8aaa9639a9 Removing intermediate container 895d13321da8 Step 4/5 : RUN export http_proxy='http://myproxy:8080' ---> Running in 19910745f212 ---> 1de5b4fb2b2e Removing intermediate container 19910745f212 Step 5/5 : RUN export ---> Running in e5d186b66385 export HOME='/root' export HOSTNAME='26ba10d264c2' export NODE_VERSION='6.9.5' export NPM_CONFIG_LOGLEVEL='info' export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' export PWD='/' export SHLVL='1' ---> 0aa0f97555bf Removing intermediate container e5d186b66385 Successfully built 0aa0f97555bf 

正如你可以看到在shell上的出口没有完成!

当我在新build的镜像中打开一个shell并手动执行这个命令的时候,它就起作用了。

 > docker run myimage:latest sh / # export https_proxy='http://myproxy:8080' / # export http_proxy='http://myproxy:8080' / # export export HOME='/root' export HOSTNAME='a759e3d30481' export NODE_VERSION='6.9.5' export NPM_CONFIG_LOGLEVEL='info' export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' export PWD='/' export SHLVL='1' export TERM='xterm' export http_proxy='http://myproxy:8080' export https_proxy='http://myproxy:8080' 

那么我做错了什么?

这不是在Dockerfile中定义ENVvariables的正确方法,更好地使用ENV请参阅文档https://docs.docker.com/engine/reference/builder/#/env

顺便说一句,把你的RUN分组,看看文档解释它

https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/