温馨提示×

Debian如何管理Docker容器

小樊
45
2025-10-16 23:22:57
栏目: 智能运维

Debian系统下管理Docker容器的完整流程

1. 安装Docker(前提步骤)

在Debian上管理Docker容器前,需先安装Docker Engine。以下是标准安装流程:

  • 更新系统包sudo apt update && sudo apt upgrade -y
  • 安装依赖工具sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
  • 添加Docker官方GPG密钥curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  • 设置Docker仓库echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 安装Docker组件sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
  • 启动并启用Docker服务sudo systemctl start docker && sudo systemctl enable docker
  • 验证安装sudo docker run hello-world(若输出“Hello from Docker!”则表示成功)。

2. 容器基本管理命令

2.1 查看容器状态
  • 查看运行中的容器docker ps(仅显示当前运行的容器)
  • 查看所有容器(包括停止的)docker ps -a(显示所有容器的ID、镜像、状态等信息)。
2.2 启动与停止容器
  • 启动容器
    • 新建并启动容器(基于镜像创建并立即运行):docker run -d --name <容器名称> <镜像名称>-d表示后台运行,--name指定容器名称,如docker run -d --name my_ubuntu ubuntu:latest
    • 启动已停止的容器:docker start <容器ID或名称>(如docker start my_ubuntu)。
  • 停止容器
    • 优雅停止(发送SIGTERM信号,等待进程处理):docker stop <容器ID或名称>(如docker stop my_nginx,默认等待10秒后强制停止)
    • 强制停止(发送SIGKILL信号,立即终止):docker kill <容器ID或名称>(如docker kill my_nginx,适用于无响应的容器)。
2.3 删除容器
  • 删除单个容器docker rm <容器ID或名称>(需确保容器已停止,否则会报错)
  • 批量删除所有停止的容器docker rm $(docker ps -a -q)docker ps -a -q列出所有停止容器的ID,通过管道传递给docker rm批量删除)。

3. 容器进阶操作

3.1 进入容器内部
  • 交互式进入docker exec -it <容器ID或名称> /bin/bash-it分配伪终端并保持输入打开,/bin/bash为容器内的shell,如docker exec -it my_ubuntu bash
  • 非交互式执行命令docker exec <容器ID或名称> <命令>(如docker exec my_ubuntu ls /查看容器内根目录)。
3.2 查看容器日志
  • 查看实时日志docker logs -f <容器ID或名称>-f跟随日志输出,适用于查看运行中的服务日志,如docker logs -f my_nginx
  • 查看指定时间范围的日志docker logs --since 10m <容器ID或名称>(查看最近10分钟的日志)。
3.3 容器资源限制
  • 限制CPU使用docker run -d --name <容器名称> --cpus="1" <镜像名称>(限制容器最多使用1个CPU核心)
  • 限制内存使用docker run -d --name <容器名称> --memory="512m" <镜像名称>(限制容器最多使用512MB内存)
  • 限制磁盘IOdocker run -d --name <容器名称> --device-read-bps=/dev/sda:1mb <镜像名称>(限制容器对磁盘的读取速度为1MB/s)。

4. 容器生命周期管理技巧

  • 容器自动重启:若容器启动时添加了--restart参数(如docker run -d --name my_service --restart always nginx),容器会在停止或系统重启后自动恢复运行。如需禁用,可修改为--restart no或通过docker update --restart=no <容器ID>更新。
  • 容器备份:通过提交容器为镜像实现备份:docker commit <容器ID或名称> <备份镜像名称>(如docker commit my_ubuntu my_ubuntu_backup),后续可通过docker run启动备份镜像。

以上命令覆盖了Debian系统下Docker容器的核心管理需求,可根据实际场景灵活组合使用。操作前建议通过man dockerdocker --help查看详细参数说明,确保命令准确性。

0