如果 docker run 指定了其他命令,CMD 指定的默认命令将被忽略

是的,如果在运行 docker run 命令时指定了其他命令,那么 Dockerfile 中 CMD 指定的默认命令将被忽略。例如:

假设 Dockerfile 中有如下指令:

CMD ["echo", "Hello, world!"]

如果您使用以下命令构建并运行容器:

docker build -t my-image .
docker run my-image ls

在这种情况下,ls 命令将代替 CMD 中指定的默认命令,因此容器将在运行时执行 ls 命令而不是 echo "Hello, world!"。如果您想在运行容器时执行 CMD 中指定的默认命令,可以使用以下命令:

docker run my-image

这将启动容器并执行 echo "Hello, world!" 命令。

posted @ 2023-04-23 11:57  flytoyou  阅读(238)  评论(0)    收藏  举报