使用Dockerfile#27284无法将数值设置为env

时间:2016-10-11 11:25:30

标签: docker dockerfile docker-machine

我试图从docker文件构建dockerimage,我在Dockerfile中设置了一个ENV(ENV GOROOT" /usr/share/go/1.6")。但我无法在容器内找到相同的ENV值。该值设置为" / usr / share / go"。 " /1.6"不见了。

重现问题的步骤:

  1. 构建Dockerfile https://gist.github.com/anumantharaja/afa1fc1684a58b2646e2ae2d80489686
  2. 运行图片
  3. 并在容器内部给出echo $ GOROOT
  4. 收到的结果: 我收到/ usr / share / go

    我预期的结果: 我期待/usr/share/go/1.6

1 个答案:

答案 0 :(得分:2)

Dockerfile

FROM busybox

###   Add Env
ENV GOPATH /root/.gopkg/
ENV GOROOT /usr/share/go/1.6
ENV PATH $PATH:$GOROOT/bin

构建图像

docker build -t rom .

从图片中启动容器:

docker run -d -it rom /bin/sh
5dea13c392bcf8740d918be61e8d0c22d20835353a020111f467b928a8990e08

进入容器

docker exec -it 5dea13c392bcf8740d918be61e8d0c22d20835353a020111f467b928a8990e08 /bin/sh

回应env var

/ # echo $GOROOT
/usr/share/go/1.6

这不是答案。只是为了告诉他,它在我的案例中起作用。 也许它没有使用他的基本形象。