docker容器的状态有哪几种

梦瑶小哥_9079

梦瑶小哥_9079

2022-05-11

26037人浏览

原创

容器状态有7种:1、“created”,表示已创建;2、“restarting”,表示重启中;3、“running”,表示运行中;4、“removing”,表示迁移中;5、“paused”,表示暂停状态;6、“exited”,表示停止等等。

本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。

Docker容器的七种状态

docker下查看所有容器状态:

docker ps -a

1.png

返回的内容中,有一个字段是STATUS。

STATUS: 容器状态,有7种:

created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)

这些状态中,最重要和常见的是除了restarting(重启中)和removing(迁移中)之外的五个状态,下面基本上网络上大部分的容器生命周期图都只包含五个状态:created(已创建),running(运行中),paused(暂停),exited(停止),dead(死亡)。

最常见的一种,当某容器因为某些原因变成exited状态时,可以使用start重新启动,例如:当运行时,提示这个容器未在运行,同时使用docker ps时没有显示出该容器

在这里插入图片描述

随后,想要重新新建一个容器,发现提示之前创建的容器其实还在,使用docker ps -a查看所有容器,看到:其实是处于exited状态

在这里插入图片描述

随后,使用docker start OCR重新启动了这个容器,检查了一下,里面的东西还是都在的。

在这里插入图片描述

类似exited(停止)

在这里插入图片描述

Docker Compose Optimizer
Docker Compose Optimizer

优化 Docker Compose 配置,适用于开发和生产环境——审计服务、网络、卷、健康检查和资源管理。

下载

UP还在运行中(running)

在这里插入图片描述

另外,如果想知道这些状态,最简单的方式是,docker --help,返回的信息中,可以看到:

# 用来创建容器
create      Create a new container
# 在一个运行状态的容器中执行命令
exec        Run a command in a running container
# 杀死运行中的容器
kill        Kill one or more running containers
# 让容器暂停
pause       Pause all processes within one or more containers
# 恢复容器
unpause     Unpause all processes within one or more containers
# 重启容器
restart     Restart one or more containers
# 新建并初始化一个容器(注意 是一个新的容器)
 run         Run a command in a new container
# 启动一个被停止的容器
 start       Start one or more stopped containers
# 暂停运行中的容器
stop        Stop one or more running containers

扩展知识:容器生命周期

可以谷歌 container lifecycle去看看相关的内容,主要搜图,可以看到有很多图,就像进程的生命周期一样。

主要反映了created(已创建),running(运行中),paused(暂停),exited(停止),dead(死亡)这五个状态的一个变化关系。

下面这个图的started就约等于running。
在这里插入图片描述
下面这个图的stopped就约等于exited

在这里插入图片描述
源自: Docker Container Lifecycle Management: Create, Run, Pause, Stop And Delete

在这里插入图片描述
源自:docker基本命令

在这里插入图片描述
源自:docker命令图谱

在这里插入图片描述
源自:Docker系列03—Docker 基础入门
其实上面这个图最初应该是来自:
在这里插入图片描述源自:Docker Internals-A Deep pe Into Docker For Engineers Interested In The Gritty Details.

参考:

  • Docker Container Lifecycle Management: Create, Run, Pause, Stop And Delete
  • Introduction to the Docker Life Cycle 这个文章的中文翻译:
  • 知乎文章:Docker生命周期简介
  • 知乎文章:Docker生命周期

推荐学习:《docker视频教程》

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

docker

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

80

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

60

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

200

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

120

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

60

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

80

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习