跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Docker容器基础概念与核心生命周期管理

容器是镜像的运行实例,本质为受隔离、有资源限制的进程,共享宿主机内核,通过命名空间和cgroups实现轻量级沙箱;镜像只读,容器可写,同一镜像可启多个独立容器;其五种核心状态为Created、Running、Stopped、Paused、Deleted,对应创建、运行、停止、暂停、删除操作。 容器是镜像的运行实例,本质是主机上一个受隔离、有资源限制的进程。它不是虚拟机,不带操作系统内核,而是共享宿主机内核,靠命名空间(隔离视图)和 cgroups(限制资源)实现轻量级沙箱环境。 容器与镜像的关系 镜像是只读模板,包含应用代码、依赖、配置等;容器是镜像启动后的可写实例。镜像像“类”,容器像“对象”——同一镜像可同时运行多个容器,彼此独立、互不影响。容器启动时,会在镜像顶部叠加一层可写层,所有运行时修改(如日志、临时文件)都发生在此层,不影响底层镜像。 容器的五种核心状态 容器生命周期围绕五个明确状态展开,每种状态对应典型操作: Created(初建) :执行
docker create
后的状态。此时文件系统已准备就绪,但进程未启动,不消耗 CPU 或网络资源 Running(运行) :通过
docker run
或
docker start
进入。主进程正在运行,可对外提供服务 Stopped(停止) :执行
docker stop
(优雅终止)或
docker kill
(强制终止)后进入。容器进程已退出,但文件系统仍保留,可再次启动 Paused(暂停) :用
docker pause
冻结容器,CPU 调度被挂起,内存和网络状态保持不变;
docker unpause
可瞬时恢复,适合临时调试或资源腾挪 Deleted(删除) :仅能对已停止容器执行
docker rm
。一旦删除,可写层及容器元数据彻底清除,不可恢复 常用命令与典型场景 掌握几个关键命令就能覆盖大多数管理需求:
docker run -d --name web01 -p 8080:80 nginx
:后台启动 Nginx 容器,映射端口,自动拉取镜像(若本地不存在)
docker ps
查看运行中容器;
docker ps -a
查看全部容器(含已停止)
docker logs -f web01
实时跟踪容器日志,排查启动失败或运行异常
docker exec -it web01 sh
进入容器交互式终端,用于调试或临时检查
docker stop web01 && docker rm web01
停止并清理容器;加
-v
参数可一并删除关联的数据卷(谨慎使用) 为什么状态管理很重要 理解状态转换能避免常见误操作。例如:
docker rm
无法删除运行中的容器,必须先
stop
;
pause
不释放内存,不能替代
stop
来节省资源;
create
后不
start
,容器永远处于静默待命状态。这些逻辑直接关系到部署可靠性与资源利用率。

相关文章