Docker 容器操作:运行、停止、查看与删除

Docker 容器操作:运行、停止、查看与删除

Docker 速通系列第 3 篇

本文对应课程:07|命令------容器操作

上一节我们把 Nginx 镜像拉到了本地。这一篇开始真正运行它,并练习查看、停止、再次启动和删除容器。你可以把这一组命令看成容器的生命周期管理工具。

先看结论

docker run 会创建并启动一个新容器,docker start 只会启动已经存在的停止状态容器。这两个命令不要混在一起。

text 复制代码
run 创建并启动 → stop 停止 → start 再次启动 → rm 删除

图:run 会创建新容器,start 只负责再次启动已有容器。

启动容器

先用最简单的方式启动 Nginx:

bash 复制代码
docker run nginx

Docker 会根据 Nginx 镜像创建一个新容器,然后启动它。

如果本地没有需要的镜像,Docker 通常会先拉取,再继续创建容器。

查看运行中的容器

bash 复制代码
docker ps

先认识几个常见字段:

  • CONTAINER ID:容器 ID。
  • IMAGE:启动容器使用的镜像。
  • COMMAND:容器启动命令。
  • CREATED:创建时间。
  • STATUS:运行状态。
  • PORTS:端口信息。
  • NAMES:容器名称。

docker ps 默认只显示正在运行的容器。想看到已经停止的容器,要加 -a

bash 复制代码
docker ps -a

前台运行与后台运行

直接执行下面的命令时,Nginx 会在前台运行:

bash 复制代码
docker run nginx

这时当前终端会被占用。按 Ctrl+C 结束前台主进程后,容器也会停止。

想让容器在后台运行,就加 -d

bash 复制代码
docker run -d nginx

-d 是 detached 的缩写。命令执行后会输出容器 ID,终端可以继续使用。

图:前台模式连接当前终端,-d 模式让容器在后台继续运行。

为容器指定名称

如果不指定名称,Docker 会自动生成一个随机名称。实验中最好用 --name 起一个容易识别的名字:

bash 复制代码
docker run -d --name my-nginx nginx

后面停止、查看日志或删除容器时,直接写名称就行,不用记容器 ID。

启动已停止的容器

bash 复制代码
docker start my-nginx

也可以使用容器 ID:

bash 复制代码
docker start 容器ID

停止容器

bash 复制代码
docker stop my-nginx

stop 会先向容器主进程发送停止信号,并等待应用正常退出;超过等待时间后才会强制结束。

重启容器

bash 复制代码
docker restart my-nginx

restart 会重启容器。它不是创建新容器,容器名称和原有配置不会因此改变。

查看容器日志

bash 复制代码
docker logs my-nginx

持续查看最新日志:

bash 复制代码
docker logs -f my-nginx

-f 会持续跟踪新日志。这里按 Ctrl+C 只是退出日志查看,不会停止后台容器。

查看容器资源使用情况

bash 复制代码
docker stats my-nginx

你会看到 CPU、内存、网络和磁盘 I/O 等实时信息。

查看所有运行中容器:

bash 复制代码
docker stats

删除容器

删除已停止容器:

bash 复制代码
docker rm my-nginx

如果容器仍在运行,可以强制停止并删除:

bash 复制代码
docker rm -f my-nginx

警告: -f 会停止并删除运行中的容器。执行前确认容器不再提供服务,并确认需要保留的数据不在容器可写层中。

常用命令表

需求 命令
启动容器 docker run
查看运行中的容器 docker ps
查看全部容器 docker ps -a
启动已停止容器 docker start
停止容器 docker stop
重启容器 docker restart
查看日志 docker logs
查看资源 docker stats
删除容器 docker rm

最小练习

bash 复制代码
# 创建后台容器
docker run -d --name my-nginx nginx

# 查看容器
docker ps

# 查看日志
docker logs my-nginx

# 停止容器
docker stop my-nginx

# 查看全部容器
docker ps -a

# 再次启动
docker start my-nginx

# 删除容器
docker rm -f my-nginx

小结

容器是镜像创建出的运行实例。常用管理顺序是:

text 复制代码
run -> ps -> logs / stats -> stop -> start / restart -> rm

下一篇深入学习 docker run 的参数和端口映射。

Docker 速通系列:

  1. Docker 架构、云服务器与安装
  2. Docker 镜像操作
  3. Docker 容器操作
  4. docker run 详解
  5. Docker 镜像保存与迁移
  6. 分享镜像到 Docker Hub
  7. Docker 实验小结
相关推荐
天蓝不会忘记021 小时前
k8spod管理
云原生·容器·kubernetes
不一样的少年_1 小时前
Docker 入门第一课:从架构、云服务器到安装完成
linux·docker·云计算
M78佐菲1 小时前
Linux学习笔记:目录IO与帧缓冲
linux·笔记·学习·算法
三8441 小时前
WordPress SQL 注入漏洞分析:从 author__not_in 参数到 REST API 全链路
linux·前端·数据库
MX_93591 小时前
Docker入门
运维·docker·容器
SCandL1521 小时前
k8s工作原理
linux·运维·服务器
weixin_444579301 小时前
Rockylinux 与 K8s 的安装
linux·云原生·容器·kubernetes
听风3471 小时前
Arch Linux 包管理 TUI 工具集
linux·服务器·archlinux
Interview Aid1121 小时前
Akuna OA 题目拆解|三题思路复盘
linux·运维·算法·面试·职场和发展