docker - 如何覆盖/发现基本图像的 CMD/ENTRYPOINT

标签 docker docker-build docker-run docker-entrypoint

假设我有这个:

FROM oresoftware/lmx-broker:0.2.1

ENTRYPOINT ['/docker-entrypoint.sh']

如果我不使用 CMDCMD 会默认为基本图像中设置的值吗?我对 ENTRYPOINT 的使用是否会覆盖基础镜像中的 ENTRYPOINT?我对 CMD 的使用会覆盖基础镜像中的 CMD 吗?

基本上我的目标是覆盖基本图像的 ENTRYPOINT,但能够发现/重用 CMD,这样我的 docker-entrypoint.sh 文件将如下所示:

#!/bin/sh

"$@" | capture-stdio

其中“$@”将默认为基本图像的 CMD。

最佳答案

来自文档:

Note: If CMD is defined from the base image, setting ENTRYPOINT will reset CMD to an empty value.
In this scenario, CMD must be defined in the current image to have a value.

因此,要回答您的问题,这是行不通的。 To read more

祝你好运。

关于docker - 如何覆盖/发现基本图像的 CMD/ENTRYPOINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58121816/

相关文章:

docker - 在 Dockerfile 中运行脚本

docker - 'npm 错误!作为 docker 构建的一部分运行 npm install 时的自签名证书

amazon-web-services - Docker Elastic Beanstalk ELB忽略.ebextesnions

docker - 在构建期间复制 docker 镜像中的文件

.net - Docker容器未运行Windows系统调用错误

windows-10 - Docker:运行使用依赖关系构建的镜像时发生超时错误

docker - 共享Docker容器

Dockerfile 复制与 "docker run ... cp"

docker - Dockerfile 中的条件逻辑,使用 --build-arg

docker - 写入正在运行的 docker 容器的标准输入