温馨提示×

Debian系统Docker容器如何管理

小樊
51
2025-10-12 14:36:27
栏目: 智能运维

Debian系统Docker容器管理指南

1. 安装Docker引擎

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

  • 更新系统包sudo apt update && sudo apt upgrade -y
  • 安装必要依赖sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent 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. 容器基本生命周期管理

  • 查看容器

    • docker ps:列出所有运行中的容器
    • docker ps -a:列出所有容器(包括已停止的);
    • docker ps -q:仅显示容器ID(适用于脚本批量操作)。
  • 启动/停止容器

    • 启动容器(后台模式):docker run -d --name <容器名> <镜像名>(如docker run -d --name nginx_1 nginx);
    • 停止容器:docker stop <容器名/ID>(发送SIGTERM信号,等待容器优雅停止);
    • 强制停止:docker stop -f <容器名/ID>(发送SIGKILL信号,立即停止);
    • 启动已停止的容器:docker start <容器名/ID>
  • 删除容器

    • 删除已停止的容器:docker rm <容器名/ID>
    • 强制删除运行中的容器:docker rm -f <容器名/ID>
    • 删除所有已停止的容器:docker container prune(需确认)。

3. 容器日常运维操作

  • 查看容器日志docker logs <容器名/ID>(实时查看日志可加-f参数);
  • 进入运行中的容器docker exec -it <容器名/ID> /bin/bash(交互式终端,-it分配伪终端);
  • 查看容器详情docker inspect <容器名/ID>(获取容器配置、网络、挂载等详细信息);
  • 查看容器资源使用docker stats(实时显示CPU、内存、网络等使用率);
  • 复制文件进出容器docker cp <主机路径> <容器名/ID>:<容器路径>(主机到容器),docker cp <容器名/ID>:<容器路径> <主机路径>(容器到主机)。

4. 高级管理功能

  • 数据卷管理(持久化数据):

    • 创建卷:docker volume create <卷名>
    • 查看卷:docker volume ls
    • 挂载卷到容器:docker run -d --name <容器名> -v <卷名>:<容器内路径> <镜像名>(如docker run -d --name mysql_1 -v mysql_data:/var/lib/mysql mysql);
    • 删除卷:docker volume rm <卷名>
  • 网络管理(容器通信):

    • 查看网络:docker network ls
    • 创建自定义网络:docker network create <网络名>(如docker network create my_net);
    • 连接容器到网络:docker network connect <网络名> <容器名/ID>
    • 断开容器网络:docker network disconnect <网络名> <容器名/ID>
  • 镜像管理(容器基础):

    • 拉取镜像:docker pull <镜像名>:<标签>(如docker pull ubuntu:22.04);
    • 查看本地镜像:docker images
    • 删除镜像:docker rmi <镜像名/ID>(需先删除依赖该镜像的容器);
    • 提交容器为新镜像:docker commit <容器名/ID> <新镜像名>:<标签>(如docker commit my_container my_ubuntu:v1)。

5. 安全与管理优化

  • 非root用户运行:将当前用户加入docker组(避免每次用sudo):
    sudo groupadd docker && sudo usermod -aG docker $USER && newgrp docker(需重新登录生效)。

  • 资源限制(防止容器占满资源):

    • 限制CPU使用:docker run -d --name <容器名> --cpus="1" <镜像名>(限制为1核);
    • 限制内存使用:docker run -d --name <容器名> --memory="512m" <镜像名>(限制为512MB)。
  • 安全扫描:定期检查镜像漏洞:docker scan <镜像名>(需安装Docker Scan插件)。

6. 清理无用资源

  • 清理所有未使用的容器、网络、镜像(悬空)和卷:docker system prune -a -f-a清理未使用的镜像,-f强制删除,无需确认)。

0