三分钟了解docker容器的5种生命周期

Docker容器使用特定命令,将当前容器从一种状态转为另一种状态,使当前容器处于不同的状态。

生命周期分为5种:

  • Created: 已创建

  • Running: 运行中

  • Stopped: 停止

  • Paused: 暂停中

  • Deleted: 删除

以下为生命周期状态转换图例:

以下基于NGINX容器使用nginx容器进行演示说明。

Created: 已创建

命令:

docker create [镜像名称|镜像ID]

lua 复制代码
docker create nginxe62a07316961776e5ad3251acbcdd4c9c708c1232373daf6b6af7e671c46bf72

使用docker create nginx会基于NGINX创建一个容器,结果状态为已创建状态(created)。

Running: 运行中

命令:

docker start [容器名称|容器ID]

docker run [容器名称|容器ID]

sql 复制代码
docker start e62a07316961e62a07316961

使用docker start e62a07316961启动指定ID的容器,结果状态为已运行状态(running)。

arduino 复制代码
docker run -d nginxec866cf4198e848bd33bfbffc29b32c06439382e5d1f46a00ad134fe25adda06

使用docker run -d nginx会基于NGINX创建并运行一个容器,结果状态也为已运行状态(running)。

Stopped: 停止

命令:

docker stop[容器名称|容器ID]

arduino 复制代码
docker stop ec866cf4198eec866cf4198e

使用docker stop ec866cf4198e将停止指定ID的容器,结果状态为已运行状态(stopped)。

Paused: 暂停中

命令:

docker pause [容器名称|容器ID] docker unpause [容器名称|容器ID]

css 复制代码
docker pause ec866cf4198eec866cf4198e

使用docker pause ec866cf4198e将暂停指定ID的容器,结果状态为已暂停状态(pause)。暂停状态容器可以使用unpause恢复运行状态。

复制代码
docker unpause ec866cf4198eec866cf4198e

使用docker unpause ec866cf4198e将恢复指定ID的容器为运行状态,结果状态为运行状态(running)。

Deleted: 删除

命令:

docker rm [容器名称|容器ID]

arduino 复制代码
docker rm ec866cf4198eError response from daemon: cannot remove container "/frosty_williamson": container is running: stop the container before removing or force remove

直接删除运行中容器,会弹出警告错误。返回信息告诉你,需先停止容器,才可以删除。或者使用-f参数进行强制删除。

arduino 复制代码
docker stop ec866cf4198eec866cf4198edocker rm ec866cf4198eec866cf4198e

先使用docker stop ec866cf4198e停止指定ID容器,再使用docker rm ec866cf4198e删除指定ID的容器,结果状态为删除状态(deleted)。

以上就是docker的生命周期的五种状态,状态间的转换说明。学习docker,掌握生命周期,对于学习docker,至关重要。希望对你有帮助。

读完后,忍不住要加个关注!不是我吹,但你会后悔没关注的!

相关推荐
东风微鸣26 分钟前
Grafana将弃用AngularJS-我们该如何迁移
docker·云原生·kubernetes·可观察性
亚林瓜子2 小时前
docker compose方式安装ClickHouse数据库
数据库·clickhouse·docker·mac·m1
开发小能手-roy3 小时前
在Ubuntu服务器上安装Docker(支持Ubuntu 20.04/22.04等版本):
linux·ubuntu·docker
细心的莽夫3 小时前
Docker学习笔记
运维·笔记·后端·学习·docker·容器
诗句藏于尽头4 小时前
BT面板docker搭建excalidraw遇到的问题
运维·docker·容器
弧襪5 小时前
解决 Docker Swarm 集群节点故障:从问题剖析到修复实战
docker·容器
laimaxgg9 小时前
Docker命令
linux·运维·服务器·ubuntu·docker
HEX9CF9 小时前
【Docker】快速部署 Certbot 并为 Nginx 服务器配置 SSL/TLS 证书
服务器·nginx·docker
萌狼蓝天9 小时前
[CI]Docker构建时传递CI的唯一生成号作为版本号(SpringBoot、Vue)
spring boot·ci/cd·docker
搬砖天才、13 小时前
日常记录-群晖nas的docker注册表被墙,用Mac电脑的docker拉取镜像并安装到nas中
macos·docker·容器