温馨提示×

debian docker怎样制作镜像

小樊
37
2026-10-25 15:27:38
栏目: 智能运维

在 Debian 系统上使用 Docker 制作镜像,常见有 三种方式:

  1. 基于已有容器提交(简单但不推荐用于生产)
  2. 使用 Dockerfile 构建(✅ 推荐方式)
  3. 导入 tar 包方式(较少用)

下面按 最常用、最规范 的方式给你讲。


一、准备工作(Debian 上安装 Docker)

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

将当前用户加入 docker 组(可选,免 sudo):

sudo usermod -aG docker $USER

重新登录后生效


二、方式一:使用 Dockerfile 制作镜像(✅ 推荐)

1️⃣ 创建项目目录

mkdir myimage
cd myimage

2️⃣ 编写 Dockerfile

# 基础镜像
FROM debian:12

# 维护者信息(可选)
LABEL maintainer="you@example.com"

# 更新并安装软件
RUN apt update && apt install -y \
    curl \
    vim \
    && rm -rf /var/lib/apt/lists/*

# 设置工作目录
WORKDIR /app

# 拷贝文件
COPY . /app

# 容器启动命令
CMD ["bash"]

3️⃣ 构建镜像

docker build -t my-debian-image:1.0 .

查看镜像:

docker images

4️⃣ 运行测试

docker run -it my-debian-image:1.0

三、方式二:基于容器提交镜像(快速但不规范)

# 启动容器
docker run -it debian:12 bash

# 在容器内安装软件
apt update
apt install -y curl

# 退出容器
exit

查看容器 ID:

docker ps -a

提交镜像:

docker commit <容器ID> my-debian-image:1.0

⚠️ 缺点:镜像不可复现、体积大、不适合 CI/CD


四、方式三:导入 / 导出镜像(迁移用)

导出:

docker save my-debian-image:1.0 > image.tar

导入:

docker load < image.tar

五、常见优化建议(Debian 镜像)

✅ 使用 slim 版本:

FROM debian:12-slim

✅ 清理 apt 缓存:

rm -rf /var/lib/apt/lists/*

✅ 合并 RUN 减少层级


六、示例:带服务的镜像(如 nginx)

FROM debian:12-slim
RUN apt update && apt install -y nginx && rm -rf /var/lib/apt/lists/*
CMD ["nginx", "-g", "daemon off;"]

如果你愿意,可以告诉我:

  • 你是要 做开发环境 / 生产服务 / 特定软件
  • 是否需要 systemd / SSH / 多阶段构建

我可以直接帮你写一份可用的 Dockerfile。

0 踩