docker 删除容器日志,docker使用nginx
问题:使用docker run-itd-p 500033605000-namelocalregistry 33602.5/clean lily/bash命令后,容器没有开始移动,说明容器处于现有状态。去掉最后一个/clean lily /bash之后,容器就变成正常启动了。
解决方案:
看了很多docker资料,很明显这是目前为止这个问题的起因。
1.容器生命周期。将docer容器视为独立的流程和执行环境。容器不等同于虚拟操作系统。Docker开发者一直主张doder容器应该只运行一个进程。例如,web服务器服务是一个进程。Docker run命令用于运行一个进程。当进程结束时,docker容器也将结束。
2.根据问题中描述的现象,两个命令的区别在于是否在末尾添加了命令/clean lily /bash。停一会儿。让我们回顾一下文档图像是如何生成的。
3.文档文件。Dockerfile文件有两个关键字:CMD和ENTRYPOINT。CMD值可以覆盖的地方。坐立不安:
假设文档文件的内容包含以下内容:
在FROM pythonCMD [/home/hello.sh , hello world]入口点[/home/hello.sh ,晓明]中,可以选择一般图像文件中两个关键字中的任意一个。但是,它们也可以同时使用。同时,CMD的值被视为入口点的参数。所以,ENTRYPOINT的内容会是[/home/hello.sh ,/clean lily /bash]。
4.看看我要开始的注册图像中包含的CMD和ENTRYPOINT。如下图:
如上面前两行所示,运行容器后,默认运行/entrypoint.sh脚本,这个脚本命令的参数是/etc/docker/regis。因此,如果他们在运行中添加新命令,镜像中的执行命令将无法正确执行,容器将变为现有。
最后,我打算附上参考资料的链接。但是因为这篇文章写了很久,有些资料查不到。上网查查CMD和ENTRYPOINT的区别就知道了。