blog/archive/docs/docker&k8s/entrypoint和cmd.md
2024-03-19 02:45:09 +08:00

1.4 KiB

entrypoint是容器执行的命令cmd是执行的命令或者参数.

docker run --entrypoint /bin/bash test bash
#          覆盖ENTRYPOINT  覆盖CMD
ENTRYPOINT ["/bin/echo", "hello"]
CMD ["world"]

image-20210114105711640

像这样执行结果是:Hello world

覆盖CMD的参数

docker run test eicas

image-20210114111521900

感觉就像是将两个命令拼接起来

在k8s中的对应

k8s文档地址

image-20210114112244500

CMD和ENTRYPOINT执行的两种形式

CMD "命令/参数"
# 以shell执行,相当于会自动补全"/bin/sh -c ",等价于CMD ["/bin/sh -c ","\"命令/参数\""],ENTRYPOINT也是如此

image-20210114112052386

image-20210114105605169

image-20210114111116997

ENTRYPOINT的shell方式下,无法接受参数

image-20210114111300414

CMD ["命令/参数","命令/参数"]
# 以exec形式执行

image-20210114105711640