Docker容器生命周期 | kill和 stop的区别与联系 | docker pause/ unpause

 更新时间:2023年08月14日 10:16:32   作者:血煞长虹  
这篇文章主要介绍了Docker容器生命周期 | kill和 stop的区别与联系 | docker pause/ unpause,本讲内容是从 Docker入门到进阶里面抽离出来的内容,从而使原文更加有序、重点突出,需要的朋友可以参考下

前言

本讲是从Docker系列讲解课程,单独抽离出来的一个小节,重点介绍:Docker容器生命周期,虽然这知识点,平时开发很少用到,但是在运维过程中,看到相关服务状态,要了解这些状态具体是什么含义,我们一起来学习一下吧!

概述 

一叶障目,不见泰山,我们就先从一叶,一叶的小细节开始吧,最后自然可以窥见泰山全貌,直至最后消灭容器,一切状态化为灰飞烟灭。

一、生命周期相关指令

1.docker kill和docker stop的区别与联系

相同点:两者都是停掉容器,并把容器状态指定到stopped。

不同点:被kill杀死容器,进入stopped状态被重新start后,会开启新的进程号;被stop停掉的容器,再次被重新start后,进程号不变,还是原来的。 

kill命令比较生猛,不管容器死活,直接给系统发送SIGKILL的系统信号强行kill掉进程,就是要用kill -9干掉容器;

stop比较温柔,先给容器发送一个TERM信号,给容器充足时间(默认10秒)保存数据,让容器自动安全停止运行,超时后再给系统发送SIGKILL的系统信号强行kill掉进程,最后转变为stop状态。

使用docker stop -t [s, default 10],可调整超时时间(docker stop -t 20 mynginx)

2.docker pause/ unpause 暂停和取消暂停(不太常用)

pause  暂停容器中所有的进程,状态为Pause(暂停对外提供服务)

unpause 取消暂停,将容器恢复为Up上线状态 

使用场景:在各个容器之间调试时使用。 

语法:docker pause [OPTIONS] CONTAINER [CONTAINER...] 

docker pause mynginx

二、生命周期演示

更好的展示效果,先停掉Docker服务

#service docker stop或者#systemctl stop docker 

1.docker create  状态为create创建状态

docker create tomcat:8.5.46-jdk8-openjdk  #创建容器(并没有启动)
docker ps  #查看容器列表(只显示已启动的)
docker ps -a  #查看所有容器(可以看到状态是Created的容器)

发现:create命令,创建容器后,#docker ps 并看不到该容器,因为ps命令不带任何任何参数时,只显示状态为Up的容器。此时的容器状态是Created。

2.docker start  状态为up上线状态

docker start bf88214f5f6d  #根据容器id启动容器
docker ps #可以看到容器状态为up,已上线状态

 发现:start命令后,容器状态由Created变为Up

3.docker pause/unpause 状态为pause暂停/上线状态

docker pause bf88214f5f6d  #根据容器id启动容器
docker ps #可以看到容器状态为up(pause),已上线(暂停)状态
docker unpause bf88214f5f6d  #取消暂停容器
docker ps 

 发现:pause命令后,容器状态从Up变为Paused;unpause命令后,状态又切回Up状态。 

4.docker stop  停掉容器

docker stop bf88214f5f6d
docker ps -a

 发现:stop命令后,容器状态从Up变为Exited,退出状态。

5.docker rm -f  强制删除容器

docker rm -f  bf88214f5f6d 
docker ps -a

 发现:容器被rm命令移除后,docker ps -a 看不到任何容器。皮之不存毛将焉附?

三、泰山图,全貌

下图中,椭圆代表容器的状态,方块代表状态切换过程中,所产生的事件。 

图片描述,形象具体,以椭圆为中心,仔细对照学习一下吧! 

注:图片中左下有个菱形(restart policy should restart?)触发该事件的源头一般是,容器内存溢出等异常。该策略通过 docker run --restart=always时来控制;也可以在docker编排yml文件中配置。

尾言

本讲内容是从 Docker入门到进阶里面抽离出来的内容,从而使原文更加有序、重点突出。

到此这篇关于Docker容器生命周期 | kill和 stop的区别与联系 | docker pause/ unpause的文章就介绍到这了,更多相关docker kill和docker stop的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ubuntu24.04LTS在线安装Docker引擎的详细过程

    Ubuntu24.04LTS在线安装Docker引擎的详细过程

    本文介绍了在Ubuntu 24.04 LTS系统上安装Docker引擎的步骤,包括卸载旧版本、设置Docker APT仓库、安装最新版或指定版本的Docker,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • docker启动报错问题OCI runtime create failed: container_linux.go:380: starting container process

    docker启动报错问题OCI runtime create failed: c

    这篇文章主要介绍了docker启动报错问题OCI runtime create failed: container_linux.go:380: starting container process,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • docker搭建rabbitmq集群环境的方法

    docker搭建rabbitmq集群环境的方法

    本篇文章主要介绍了docker搭建rabbitmq集群环境的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-07-07
  • 如何解决Docker-Compose内置DNS负载均衡失效问题

    如何解决Docker-Compose内置DNS负载均衡失效问题

    这篇文章主要介绍了如何解决Docker-Compose内置DNS负载均衡失效问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • Docker 镜像调试的最佳实践

    Docker 镜像调试的最佳实践

    本文主要介绍了Docker 镜像调试的最佳实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • Docker容器时间与宿主机不一致的解决方案

    Docker容器时间与宿主机不一致的解决方案

    在日常开发和运维工作中,许多开发者在使用 Docker 时会遇到一个常见问题:容器内的时间比宿主机慢了 8 小时,这种情况尤其在中国地区(使用东八区时间)更为常见,本文给大家介绍了Docker容器时间与宿主机不一致的三种解决方案,需要的朋友可以参考下
    2025-05-05
  • docker搭建devops(腾讯云轻量应用服务器)教程

    docker搭建devops(腾讯云轻量应用服务器)教程

    这篇文章主要为大家介绍了docker搭建devops(腾讯云轻量应用服务器)教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Docker daemon 无法启动: does not match with stored UUID错误解决办法

    Docker daemon 无法启动: does not match with stored UUID错误解决办法

    这篇文章主要介绍了Docker daemon 无法启动: does not match with stored UUID错误解决办法的相关资料,需要的朋友可以参考下
    2016-11-11
  • 使用 Docker 在 Ubuntu 上部署 FTP 服务器的步骤

    使用 Docker 在 Ubuntu 上部署 FTP 服务器

    本文详细介绍了如何在Ubuntu系统上通过Docker部署FTP服务器的步骤,包括安装Docker、拉取vsftpd镜像以及运行FTP容器等,通过这些步骤,用户可以在提供的免费云服务器上快速搭建起一个安全高效的FTP服务,适合小型项目或个人使用,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • docker-compose up -d遇到的问题及解决

    docker-compose up -d遇到的问题及解决

    这篇文章主要介绍了docker-compose up -d遇到的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论