首页 > 编程知识 正文

docker run nginx,docker删除容器

时间:2023-05-05 21:53:54 阅读:162140 作者:2978

问题:使用docker run-itd-p 500033605000-- namelocalregistryregistry 33602.5 /清洁百合/bash命令后,容器没有开始移动,表明容器处于Exited状态去掉末尾的/干净的百合/bash后,容器变为正常的开始

解决方案:

看了很多docker资料后,很明显,到目前为止,这是导致这个问题的原因。

1 .容器生命周期。 将docer容器视为单独的流程和执行环境。 容器不等效于虚拟操作系统。 Docker的开发人员也一直主张doder容器应该只运行一个进程。 例如,web服务器服务是一个进程。 docker run命令用于运行进程。 进程结束时,docker容器也将结束。

2 .根据问题中描述的现象,两条命令之间的差异在于末尾是否添加了/清洁百合/bash这一command。 暂且停下脚步。 让我们回顾一下文档图像是如何生成的。

3 .文档文件。 Dockerfile文件有两个关键字: CMD和ENTRYPOINT。 其中CMD的值可以涵盖。 提心吊胆:

假设文档文件的内容包含以下内容:

在FROM pythonCMD ['/home/hello.sh ',' hello world ' ] entry point [ '/home/hello.sh ',' xiaoming']中CMD可以覆盖的特性在一般的镜像文件中,可以选择两个关键字中的任意一个。 但是,也可以同时使用。 同时使用时,CMD的值被视为条目点的参数。 所以,ENTRYPOINT的内容将是['/home/hello.sh ',' /清洁的百合/bash']。

4 .看看我要启动的注册镜像中包含的CMD和ENTRYPOINT。 下图:

如上图的前两行所示,在运行容器后,缺省情况下运行的是/entrypoint.sh脚本,该脚本命令的参数为/etc/docker/regis . 因此,如果他们在run中添加了新命令,则镜像中的执行命令将无法正确执行,容器将变为Exited。

最后,我打算附上参考资料的链接。 但是,由于这篇文章写得很越天,所以有些资料找不到。 在网上查一下CMD和ENTRYPOINT的区别资料就知道了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。