Dockerfile书写时的运行参数的区别

Dockerfile书写时的运行参数有三个:run 、cmd、

run 安装软件包
cmd 容器启动时的命令,可以被覆盖
enteypoint   不能覆盖,cmd可与enteypoint结合使用,cmd后的值可以作为enteypoint的参数(传参)
CMD(可以被覆盖)
vim Dockerfile
FROM rhel7
CMD [echo "hello world"]

Dockerfile书写时的运行参数的区别_第1张图片
Dockerfile书写时的运行参数的区别_第2张图片

ENTRYPOINT(不能被覆盖)
vim Dockerfile
FROM rhel7
ENTRYPOINT echo "hello world"

Dockerfile书写时的运行参数的区别_第3张图片
Dockerfile书写时的运行参数的区别_第4张图片

CMD给ENTRYPOINT传参
vim Dockerfile
FROM rhel7
ENTRYPOINT ["/bin/echo","hello world"]
CMD ["world"]

Dockerfile书写时的运行参数的区别_第5张图片
这里写图片描述

vim Dockerfile
FROM rhel7
ENV name westos
ENTRYPOINT ["/bin/sh","-c","echo hello $name"]

Dockerfile书写时的运行参数的区别_第6张图片
这里写图片描述

你可能感兴趣的:(docker)