docker - dockerfile中缺少dockerfile中的shell变量

标签 docker

我有一个Dockerfile,其中包含一些看起来像作为标签传递的“$ MYVARIABLE”文本(这些字符串用于自定义工具)。

我注意到,一旦成功构建此Dockerfile,结果图像的docker inspect将显示空格,其中这些$ MYVARIABLE样式字符串位于Dockerfile中。我只希望将'$ MYVARIABLE'作为文字字符串传递,我根本不希望将其视为变量。

我的第一个猜测是,即使我没有使用Dockerfile ARG或ENV语法,我的shell仍在尝试将它们扩展为常规变量。我得出结论不是这样。所以我的问题是这些琴弦在哪里?

最佳答案

您需要在dockerfile中将传递的var声明为ARG
也就是说,如果您想使用var MY_ARG作为Label,则必须以以下方式声明它:

ARG MY_ARG

LABEL "My Arg"=$MY_ARG

如果您已经这样做了,也许问题在于这些变量的初始化/传递方式。也许有些代码会有所帮助。

关于docker - dockerfile中缺少dockerfile中的shell变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41951731/

相关文章:

security - 使用非官方镜像的 Docker 安全问题

docker - 是否可以在Docker中运行syslog并将其作为主机的syslog守护程序公开给主机?

docker - 继承图像中 VOLUME 的奇怪行为

python - 如何减小 python 应用程序的多阶段 docker 构建的大小

docker - 在内存中运行 Docker?

docker - 使用Nextflow和Docker的FileNotFoundException(权限被拒绝)

Docker - 无法连接到 Docker 守护进程以 rm 容器

docker - gitlab-ci-runner 选择执行者 "Please enter the executor:"

asp.net - 如何使用私有(private) ip 在 API 上进行获取请求?

docker - 无法通过主机名/名称 ping Docker 容器