以守护进程方式启动和管理 Docker 容器-创建守护进程容器
以下是视频中关于以守护进程方式启动和管理 Docker 容器的详细总结与讲解:
Docker 容器守护进程方式启动
1. 守护进程方式启动容器
-
命令:
docker run --name <容器名称> -dit <镜像名称> - 示例:
docker run --name hello1 -dit centos
- 示例:
-
参数解释:
--name
:为容器指定一个名称,如hello1
。-d
:后台运行容器(守护进程模式)。-i
:支持交互式操作(即可以与容器进行交互)。-t
:分配一个伪终端。<镜像名称>
:启动容器所需的镜像,例如centos
。
-
执行效果:
- 容器会以守护进程的方式在后台运行,不会自动进入容器内部。
- 会返回一个长字符串(容器的 ID),表示容器已成功启动。
- 示例输出:
3d5f8b2d89c4ff7a3b3f13b8c084c0a32e704b1ecbd8c9dd9b8431b7e3b5f5e9
2. 查看运行中的容器
-
命令:
docker ps -
输出内容:
- CONTAINER ID:容器的唯一 ID。
- IMAGE:容器使用的镜像。
- STATUS:容器的当前状态(如
Up 10 seconds
)。 - NAMES:容器的名称。
-
示例输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d5f8b2d89c4 centos "/bin/bash" 10 seconds ago Up 10 sec hello1
3. 进入运行中的容器
-
命令:
docker exec -it <容器名称或ID> /bin/bash - 示例:
docker exec -it hello1 /bin/bash
- 示例:
-
参数解释:
docker exec
:在运行中的容器内执行命令。-i
:开启交互式模式。-t
:分配一个伪终端。/bin/bash
:指定使用bash
作为容器内的命令行解释器。
-
执行效果:
- 成功进入容器后,显示类似以下内容:
[root@3d5f8b2d89c4 /]# - 在容器内可以执行类似 Linux 系统的命令。
- 成功进入容器后,显示类似以下内容:
-
退出容器:
exit - 容器保持运行状态,不会因为退出而停止。
4. 管理容器的生命周期
查看所有容器(包括已停止的容器)
- 命令:
docker ps -a - 示例输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d5f8b2d89c4 centos "/bin/bash" 10 minutes ago Exited (0) 5 seconds ago hello1
启动已停止的容器
- 命令:
docker start <容器名称或ID> - 示例:
docker start hello1
- 示例:
停止运行中的容器
- 命令:
docker stop <容器名称或ID> - 示例:
docker stop hello1
- 示例:
删除容器
- 命令:
docker rm <容器名称或ID> - 示例:
docker rm hello1
- 示例:
- 强制删除正在运行的容器:
docker rm -f <容器名称或ID>
5. 守护式启动容器的特点
- 容器不会因为退出终端而停止运行:
- 使用
docker run -dit
启动的容器在后台运行,即使用户退出容器,容器仍然保持运行状态。
- 使用
- 容器可以随时重新进入:
- 使用
docker exec -it
命令可以多次进入运行中的容器。
- 使用
- 适合长期运行的服务:
- 守护式启动非常适合运行 Web 服务、数据库等需要长期运行的应用。
6. 常用命令总结
命令 | 作用 | 示例 |
---|---|---|
docker run -dit |
以守护式进程方式运行容器 | docker run --name hello1 -dit centos |
docker ps |
查看正在运行的容器 | docker ps |
docker ps -a |
查看所有容器(包括已停止) | docker ps -a |
docker exec -it |
进入运行中的容器 | docker exec -it hello1 /bin/bash |
docker start |
启动已停止的容器 | docker start hello1 |
docker stop |
停止运行中的容器 | docker stop hello1 |
docker rm |
删除容器 | docker rm hello1 |
docker rm -f |
强制删除正在运行的容器 | docker rm -f hello1 |
7. 实际案例操作
案例一:启动并进入容器
- 启动一个后台运行的容器:
docker run --name hello1 -dit centos - 查看运行中的容器:
docker ps - 进入容器:
docker exec -it hello1 /bin/bash - 在容器内部操作:
ls - 退出容器:
exit - 确认容器仍在运行:
docker ps
案例二:停止并启动容器
- 停止运行中的容器:
docker stop hello1 - 查看容器状态:
输出中可见容器状态为docker ps -a Exited
。 - 启动已停止的容器:
docker start hello1 - 再次查看容器状态:
docker ps
案例三:删除容器
- 停止并删除容器:
docker stop hello1 docker rm hello1 - 确认容器已被删除:
docker ps -a
总结
-
守护式启动容器的优点:
- 容器在后台运行,不受用户退出的影响。
- 可以随时通过
docker exec
重新进入容器。
-
容器生命周期管理:
- 通过
docker ps
、docker start
、docker stop
、docker rm
等命令实现容器的创建、启动、停止和删除。
- 通过
-
推荐实践:
- 对于需要长期运行的服务,建议使用守护式启动。
- 定期清理无用的容器和镜像,以免占用系统资源。
迷茫的人生,需要不断努力,才能看清远方模糊的志向!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?