📅  最后修改于: 2023-12-03 15:14:46.285000             🧑  作者: Mango
在 Docker 中,可以使用 CMD
或 ENTRYPOINT
指令来指定容器的入口。这两个指令可以用于在容器启动时执行特定的命令,例如启动应用程序、初始化数据等。
CMD
指令是用于在容器启动时执行默认命令或指定命令的指令。
CMD的语法有两种形式:
CMD [“executable”,“param1”,“param2”]
:用于执行指定的命令,可以指定参数。CMD command param1 param2
:用于执行默认命令,可以指定参数。# CMD语法示例
FROM alpine
CMD ["echo","Hello World!"]
上面的示例中,容器启动时会执行 echo "Hello World!"
命令。
CMD
指令,如果指令多于一个,只有最后一个会生效。ENTRYPOINT
指令,则 CMD
指令会作为 ENTRYPOINT
命令的参数。ENTRYPOINT
指令是用于在容器启动时执行特定命令的指令。不同于 CMD
指令, ENTRYPOINT
指令的参数是不可替换的,即不管在启动容器时传入什么参数, ENTRYPOINT
指令都会被执行。
ENTRYPOINT
指令的语法有两种形式:
ENTRYPOINT [“executable”,“param1”,“param2”]
:用于执行指定的命令,可以指定参数。ENTRYPOINT command param1 param2
:用于执行默认命令,可以指定参数。# ENTRYPOINT语法示例
FROM alpine
ENTRYPOINT ["echo","Hello World!"]
上面的示例中,容器启动时会执行 echo "Hello World!"
命令。
ENTRYPOINT
指令,如果指令多于一个,只有最后一个会生效。CMD
指令,则 CMD
指令会作为 ENTRYPOINT
命令的参数。CMD
指令时,可以在启动容器时传入参数来替换 CMD
中指定的默认参数,而 ENTRYPOINT
指令的参数是不可替换的。ENTRYPOINT
指令是用于保证容器始终运行的关键命令,而 CMD
指令则是可选的、用于指定默认行为的。以上是关于 Docker 中 CMD
和 ENTRYPOINT
指令的介绍。在实际使用中,应根据需要决定使用哪种指令来指定容器的入口。