16 ENTRYPOINT
功能:
1、类似CMD指令的功能,用于为容器指定默认运行程序,从而使得容器像是一个单独的可执行程序
2、与CMD不同的是,由ENTRYPOINT启动的程序不会被docker run命令行指定的参数所覆盖,而且,这些命令行参数会被当作参数传递给ENTRYPOINT指定指定的程序不过,docker run命令的-entrypoint选项的参数可覆盖ENTRYPOINT指令指定的程序
格式:
ENTRYPOINT <comand> 或ENTRYPOINT “<excutable>”, <parm1>”, <parm2>”
默认是在 /bin/sh中执行 所以可以定制脚本执行 再通过cmd 传递过来的命令(以exec $*)作为第一进程
可以利用脚本来生成配置模板 通过 -e 创建容器的时候修改变量值 来实现你想实现的配置文件等。
docker run命令传入的命令参数会覆盖CMD指令的内容并且附加到ENTRYPOINT命令最后做为其参数使用Dockerfile文件中也可以存在多个ENTRYPOINT指令,但仅有最后一个会生效
示例:
vim Dockerfile
docker build -t myweb:v2 ./
docker run –name myweb1 –rm -it myweb:v2 cat /etc/nginx/conf.d/www.conf
前端运行
docker run –name myweb1 –rm -it myweb:v3
学员评价