ENTRYPOINT指令

ENTRYPOINT是设置指令,非必需。

ENTRYPOINT指令与CMD指令用法完全一样,可以执行任何命令。

ENTRYPOINT指令格式有两种:

1、shell模式格式:

ENTRYPOINT <shell command>

shell模式下,命令以/bin/sh -c解释执行。

示例:

ENTRYPOINT sudo apt-get update

2、exec模式格式:

ENTRYPOINT ["executable", "param1", "param2" ... ]

exec模式下,命令以exec方式执行。

示例:

ENTRYPOINT ["sudo", "apt-get", "update"]
注意:

在一个Dockerfile文件中,无论出现过多少次该指令,只有最后一次有效。

ENTRYPOINT指令的使用分为两种情况:一种是独自使用,另一种和CMD指令配合使用。

当独自使用时,如果你还使用了CMD指令且CMD是一个完整的可执行的命令, 那么CMD指令和ENTRYPOINT指令会互相覆盖, 只有最后一个CMD指令或者ENTRYPOINT指令有效。

示例:

ENTRYPOINT xx
CMD ["-y"]