温馨提示×

Debian环境下如何使用Docker容器

小樊
34
2025-12-26 14:33:05
栏目: 智能运维

在 Debian 上使用 Docker 的实用指南

一 安装与启动

  • 更新索引并安装依赖
    • sudo apt update
    • sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
  • 添加 Docker 官方 GPG 密钥与 APT 源(使用 keyring 更安全)
    • curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    • 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
    • sudo systemctl start docker
    • sudo systemctl enable docker
  • 验证安装
    • docker version
    • docker info
    • sudo systemctl status docker 说明:以上步骤适用于 Debian 10+,包含 Debian 12。如使用 Debian 9,命令中软件包名可能为 gnupg2,其余流程一致。

二 免 sudo 使用与国内镜像加速

  • 将当前用户加入 docker 组(避免每次 sudo)
    • sudo usermod -aG docker $USER
    • 退出并重新登录,或执行 newgrp docker 使组成员生效
  • 配置镜像加速器(可选,提升拉取速度)
    • 编辑 /etc/docker/daemon.json(不存在则新建)
      • {
        • “registry-mirrors”: [“https://hub-mirror.c.163.com”]
        • }
    • 重启 Docker
      • sudo systemctl restart docker 说明:加入 docker 组后,请确保会话重新加载;镜像加速地址可按需替换为其他可用镜像源。

三 常用容器操作

  • 运行与进入容器
    • 交互式运行:docker run -it --name my_debian debian:latest /bin/bash
    • 后台运行并映射端口:docker run -d --name web -p 80:80 nginx:latest
  • 查看与日志
    • 查看容器:docker ps;查看全部:docker ps -a
    • 查看日志:docker logs -f web
  • 启停与删除
    • 停止/启动:docker stop web;docker start web
    • 删除:docker rm web(运行中可 docker rm -f web)
  • 进入运行中容器:docker exec -it web bash
  • 镜像管理
    • 拉取/查看/删除:docker pull ubuntu:24.04;docker images;docker rmi ubuntu:24.04 说明:以上覆盖了日常最常用的容器生命周期与镜像管理命令。

四 数据持久化与网络

  • 数据卷(推荐)
    • 创建卷:docker volume create mydata
    • 挂载卷:docker run -d --name app -v mydata:/app/data nginx:latest
  • 绑定挂载(开发常用)
    • docker run -d --name app -v /host/path:/container/path nginx:latest
  • 自定义网络与互联
    • 创建网络:docker network create backend
    • 连接网络:docker network connect backend app 说明:卷由 Docker 管理,适合数据库等状态数据;绑定挂载便于开发时热更新代码。

五 Docker Compose 与最佳实践

  • 安装 Compose(Debian 12 可用系统包)
    • sudo apt install -y docker-compose
  • 单文件多服务示例(docker-compose.yml)
    • version: “3.8”
      • services:
        • web:
          • image: nginx:latest
          • ports:
            • “80:80”
        • db:
          • image: mysql:8.0
          • environment:
            • MYSQL_ROOT_PASSWORD=example
          • volumes:
            • dbdata:/var/lib/mysql
      • volumes:
        • dbdata:
  • 常用命令
    • 启动:docker-compose up -d
    • 查看日志:docker-compose logs -f
    • 停止:docker-compose down
  • 安全与维护建议
    • 避免以 root 在容器内运行应用(Dockerfile 中 USER 非 root)
    • 定期更新镜像与宿主机,清理无用资源:docker system prune 说明:Compose 适合本地开发、测试与小型部署;生产环境可结合更完善的编排与镜像安全策略。

0