Docker 如何覆盖/发现基本映像的CMD/ENTRYPOINT
假设我有这个:Docker 如何覆盖/发现基本映像的CMD/ENTRYPOINT,docker,docker-build,docker-run,docker-entrypoint,Docker,Docker Build,Docker Run,Docker Entrypoint,假设我有这个: FROM oresoftware/lmx-broker:0.2.1 ENTRYPOINT ['/docker-entrypoint.sh'] 如果我不使用CMD将CMD默认为基础图像中设置的值?我对ENTRYPOINT的使用是否会覆盖基本图像中的ENTRYPOINT?我使用CMD是否会覆盖基本图像中的CMD 基本上,我的目标是覆盖基本映像的入口点,但能够发现/重用CMD,因此我的docker ENTRYPOINT.sh文件如下所示: #!/bin/sh "$@" | cap
FROM oresoftware/lmx-broker:0.2.1
ENTRYPOINT ['/docker-entrypoint.sh']
如果我不使用CMD
将CMD
默认为基础图像中设置的值?我对ENTRYPOINT
的使用是否会覆盖基本图像中的ENTRYPOINT
?我使用CMD
是否会覆盖基本图像中的CMD
基本上,我的目标是覆盖基本映像的入口点,但能够发现/重用CMD,因此我的docker ENTRYPOINT.sh
文件如下所示:
#!/bin/sh
"$@" | capture-stdio
其中“$@”将从基本映像默认为CMD。如果在Dockerfile中使用
ENTRYPOINT['/docker ENTRYPOINT.sh']
,它将覆盖ENTRYPOINT
简单地说,如果您使用在基本图像中定义并在图像中重新定义的任何内容,它将覆盖其CMD
或entrypoint
或任何其他配置,如ENV
等
一旦在DOCKFILE文件中定义了EngyPosits,将传递给
CMD
和entrypoint
,只需运行
docker inspect oresoftware/lmx-broker:0.2.1
或查看基本图像的入口点
docker run --rm oresoftware/lmx-broker:0.2.1 bash -c "cat path_to_entrypoint"
如果在Dockerfile中使用
ENTRYPOINT['/docker ENTRYPOINT.sh']
,它将覆盖该入口点
简单地说,如果您使用在基本图像中定义并在图像中重新定义的任何内容,它将覆盖其CMD
或entrypoint
或任何其他配置,如ENV
等
一旦在DOCKFILE文件中定义了EngyPosits,将传递给
CMD
和entrypoint
,只需运行
docker inspect oresoftware/lmx-broker:0.2.1
或查看基本图像的入口点
docker run --rm oresoftware/lmx-broker:0.2.1 bash -c "cat path_to_entrypoint"
从文档中:
注意:如果CMD是从基本图像定义的,则设置ENTRYPOINT会将CMD重置为空值在这种情况下,必须在当前图像中定义CMD才能有值 所以要回答你的问题,这是行不通的。 祝你好运。来自文档: 注意:如果CMD是从基本图像定义的,则设置ENTRYPOINT会将CMD重置为空值
在这种情况下,必须在当前图像中定义CMD才能有值 所以要回答你的问题,这是行不通的。
祝你好运。这太可惜了,因为用户必须去发现基本映像中的CMD值,然后复制它。这太可惜了,因为用户必须去发现基本映像中的CMD值,然后复制它