Skip to content

dockerfile

ENTRYPOINT&CMD

ENTRYPOINT定义了容器启动时启动的主命令. docker run容器启动的时候, ENTRYPOINT指令不会被忽略, 除非使用--entrypoint选项. 即使用户在启动容器的时候传递了参数, 也会将参数附加到ENTRYPOINT声明的命令后面, 而不是覆盖它, 但是CMD定义的参数会被覆盖.

CMDENTRYPOINT存在的时候, 用于为ENTRYPOINT提供默认的参数, 如果启动时提供了参数, CMD中的参数会被覆盖. 如果ENTRYPOINT不存在, CMD指令将用于定义容器启动时的默认命令, 若用户在启动容器的过程中没有提供其他命令, 会执行CMD中定义的内容.

Comments