docker - 如何将 ARG 值传递给 ENTRYPOINT?

标签 docker dockerfile docker-compose docker-registry

Docker 1.9 允许将参数传递给 dockerfile。见链接:https://docs.docker.com/engine/reference/builder/#arg

如何在 ENTRYPOINT 指令中传递相同的参数?

我的 dockerfile 有

ARG $Version=3.1
ENTRYPOINT /tmp/folder-$Version/sample.sh start

使用上述 dockerfile 创建容器时出现错误。 请建议在 ENTRYPOINT 指令中指定参数的正确方法是什么??

最佳答案

Blake Mitchell 一样,您不能在 ENTRYPOINT 中使用 ARG。但是,您可以将 ARG 用作 ENV 的值,这样您就可以将它与 ENTRYPOINT 一起使用:

Dockerfile

ARG my_arg
ENV my_env_var=$my_arg

ENTRYPOINT echo $my_env_var

然后运行:

docker build --build-arg "my_arg=foo" ...

关于docker - 如何将 ARG 值传递给 ENTRYPOINT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34324277/

相关文章:

Docker——分离和交互?

docker - 无法建立新连接:[Errno -2]名称或服务未知,')':/simple/flask/

amazon-web-services - 如何在不使用ELB的情况下为EC2实例实现自定义运行状况检查?

Docker:公开一系列端口

docker 群 : 'build' configuration in docker compose file ignored during stack deployment

docker - Traefik/Docker:使用端口作为前端规则(而不是路径或子域)

Django 翻译成自定义语言在开发中有效,但在生产中无效

docker - 如何在不运行的情况下从 docker build 复制结果

docker-compose - Fabric 网络 - 当关闭的对等点连接回网络时会发生什么?

docker - 如何从远程 selenium 网格上的 docker 运行 testcafe