docker 运行 中的 Dockerfile 入口点脚本参数

Dockerfile entrypoint script arguments in docker run

我的Docker文件包含一个

RUN xyz.sh --IP localhost

当我给出命令时 docker 运行 我想插入一个新的 IP 地址:

docker run -it IP 127.0.0.1 name:tag

这样怎么传?

我尝试在 Docker 文件中提供 ENV 并在 运行 命令中使用 -e 但没有任何效果。

RUN 指令发生在构建时。

ENTRYPOINTCMD 指令发生在 运行 时间。

您可能希望在您的 Dockerfile 中包含这样的内容:

....
ENTRYPOINT ["xyz.sh"]

CMD ["--IP", "127.0.0.1"]
....

然后你可以运行:

docker run -it some-image --IP 127.0.0.1

图像后的参数会覆盖 CMD 指令,因此 运行 是 ENTRYPOINT 指令,后跟您的参数。