Python应用的Docker打包与Linux进程线程知识
1. Docker中的CMD和ENTRYPOINT指令
在Docker中,CMD指令和ENTRYPOINT指令类似,都是在容器启动时执行,而非构建时执行。当Dockerfile中定义了ENTRYPOINT指令时,CMD指令用于定义传递给该ENTRYPOINT的默认参数。例如, /start.sh 路径就是传递给 /entrypoint.sh 的参数, /entrypoint.sh 的最后一行执行 /start.sh :
exec "$@"
/start.sh 脚本来自uwsgi - nginx基础镜像。在 /entrypoint.sh 为Nginx和uWSGI配置好容器运行时环境后, /start.sh 会启动它们。当CMD与ENTRYPOINT结合使用时,CMD设置的默认参数可以在Docker主机命令行中被覆盖。
大多数Dockerfile没有ENTRYPOINT指令,所以Dockerfile的最后一行通常是一个在前台运行的CMD指令,而不是默认参数。例如,可以使用以下指令来保持一个通用的Docker容器为开发运行:
CMD tail -f /dev/null
除了ENTRYPOINT和CMD,在这个Py
超级会员免费看
订阅专栏 解锁全文
1816

被折叠的 条评论
为什么被折叠?



