Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何覆盖/发现基本映像的CMD/ENTRYPOINT_Docker_Docker Build_Docker Run_Docker Entrypoint - Fatal编程技术网

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的任何东西都将被视为对入口点的一个参数。

要查看基本映像的
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的任何东西都将被视为对入口点的一个参数。

要查看基本映像的
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值,然后复制它