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"]