温馨提示×

Debian Docker镜像如何获取与使用

小樊
34
2025-12-20 22:13:34
栏目: 智能运维

获取与使用 Debian Docker 镜像

一 准备环境

  • Debian 主机上安装 Docker(两种常见方式,二选一):
    • 安装 Docker 官方版本(推荐):
      sudo apt update
      sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
      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
      sudo apt update
      sudo apt install -y docker-ce docker-ce-cli containerd.io
      sudo systemctl enable --now docker
      sudo usermod -aG docker $USER   # 将当前用户加入 docker 组,避免每次 sudo
      
    • 安装 Debian 仓库提供的 docker.io 包:
      sudo apt update
      sudo apt install -y docker.io
      sudo systemctl enable --now docker
      
  • 验证安装:docker --versiondocker info 应返回正常信息。

二 获取镜像

  • 拉取官方镜像(标签即版本,未指定默认为 latest):
    docker pull debian:latest
    docker pull debian:bookworm
    docker pull debian:bullseye
    docker pull debian:buster
    
  • 查看本地镜像:docker images
  • 搜索镜像(在 Docker Hub 上):docker search debian
  • 说明:Debian 镜像以代号发布,常见标签有 bookworm(12)bullseye(11)buster(10),生产环境建议固定版本标签而非使用 latest

三 运行与进入容器

  • 交互式运行并进入 shell:
    docker run -it --name my_debian debian:bookworm /bin/bash
    
  • 后台运行并映射端口(示例将容器 80 映射到主机 8080):
    docker run -d --name web -p 8080:80 debian:bookworm
    
  • 在容器内使用 apt 安装软件(Debian 基础镜像默认最小化,需手动安装):
    apt update && apt install -y --no-install-recommends curl vim
    rm -rf /var/lib/apt/lists/*
    
  • 常用管理命令:
    • 查看运行中的容器:docker ps
    • 查看全部容器:docker ps -a
    • 停止/启动/重启:docker stop|start|restart <容器名或ID>
    • 进入运行中容器:docker exec -it <容器名或ID> /bin/bash
    • 删除容器:docker rm <容器名或ID>(运行中可加 -f 强制)。

四 构建自定义镜像与 Dockerfile 示例

  • 示例 Dockerfile(基于 debian:bookworm,安装 nginx 并前台运行):
    FROM debian:bookworm
    LABEL maintainer="you@example.com"
    RUN apt-get update && apt-get install -y --no-install-recommends nginx \
        && rm -rf /var/lib/apt/lists/*
    EXPOSE 80
    CMD ["nginx", "-g", "daemon off;"]
    
  • 构建与运行:
    docker build -t my-nginx .
    docker run -d --name web -p 8080:80 my-nginx
    
  • 访问验证:浏览器打开 http://localhost:8080

五 常用管理与清理

  • 删除镜像:docker rmi <镜像名:标签>(被容器占用时可加 -f
  • 清理未使用资源:
    • 全部未使用资源:docker system prune -a
    • 仅未使用镜像:docker image prune -a
  • 导出/导入镜像(便于离线分发):
    docker save my-nginx:latest -o my-nginx.tar
    docker load -i my-nginx.tar
    
  • 小提示:
    • 生产环境避免使用 latest,固定如 debian:bookworm
    • 构建镜像时合并 RUN 并清理 apt 缓存,能显著减小镜像体积。
    • 需要持久化数据请挂载卷(-v 宿主路径:容器路径)。

0