数值无法使用 Dockerfile #27284 设置为 env
Posted
技术标签:
【中文标题】数值无法使用 Dockerfile #27284 设置为 env【英文标题】:Numeric value not able to set as env using Dockerfile #27284 【发布时间】:2016-10-11 11:25:29 【问题描述】:我正在尝试从 docker 文件构建一个 dockerimage,我在 Dockerfile 中设置了一个 ENV(ENV GOROOT "/usr/share/go/1.6").. 但我找不到相同的 ENV 值容器内。该值设置为“/usr/share/go”。缺少“/1.6”。
重现问题的步骤:
-
构建 Dockerfile https://gist.github.com/anumantharaja/afa1fc1684a58b2646e2ae2d80489686
运行镜像
在容器内给 echo $GOROOT
我收到的结果: 我收到了 /usr/share/go
我预期的结果: 我期望 /usr/share/go/1.6
【问题讨论】:
我用基础镜像busybox(+ Dockerfile上没有扩展名)进行了尝试,得到了预期的结果。 - lorenzvth7 你试过这个吗?这对你有用吗? 我会在答案中展示它。你看到后我可以删除它 【参考方案1】: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
回显环境变量
/ # echo $GOROOT
/usr/share/go/1.6
这不是答案。只是为了向他展示它在我的情况下有效。 也许它不适用于他的基本图像。
【讨论】:
Thks lorenzvth7.. 问题在我身边,现在工作正常...我在 .bashrc 中硬编码 GOROOT /usr/share/go 这个值就是问题... 很高兴您发现了您的问题。以上是关于数值无法使用 Dockerfile #27284 设置为 env的主要内容,如果未能解决你的问题,请参考以下文章
当通过 Dockerfile 上的 gradle 图像触发时,Jooq 无法找到数据库
无法在 Raspberry Pi 上从 Dockerfile 安装 dlib