制作与分享 Debian Docker 镜像
一 准备与基础
sudo apt update && sudo apt install -y docker.io;在 Windows/macOS 使用 Docker Desktop。完成后运行 docker version 验证环境可用。docker build 构建 → docker run 本地验证 → docker tag 打标签 → docker login 登录 → docker push 分享到仓库(如 Docker Hub 或私有仓库)。二 编写 Dockerfile 与构建运行
# 使用官方精简镜像
FROM debian:bookworm-slim
# 避免交互式安装提示
ENV DEBIAN_FRONTEND=noninteractive
# 安装软件并清理缓存,减少镜像层与体积
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
vim \
git \
&& rm -rf /var/lib/apt/lists/*
# 设置工作目录
WORKDIR /app
# 复制本地脚本并赋权
COPY my-script.sh /usr/local/bin/my-script.sh
RUN chmod +x /usr/local/bin/my-script.sh
# 声明端口(仅文档作用,实际映射在运行时指定)
EXPOSE 8080
# 容器启动命令
CMD ["my-script.sh"]
docker build -t my-debian:1.0 .docker run -it --rm my-debian:1.0.dockerignore 可排除不必要的本地文件(如 __pycache__、.git、node_modules)以加速构建与减小上下文体积。三 优化镜像体积与可维护性
apt-get update 与安装合并,安装后执行 rm -rf /var/lib/apt/lists/*,减少中间层与缓存残留。# 构建阶段
FROM debian:bullseye-slim AS builder
RUN apt-get update && apt-get install -y build-essential
COPY src /app
WORKDIR /app
RUN make
# 运行阶段
FROM debian:bullseye-slim
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["/usr/local/bin/myapp"]
四 分享镜像到仓库
docker logindocker tag my-debian:1.0 <你的用户名>/my-debian:1.0docker push <你的用户名>/my-debian:1.0docker pull <你的用户名>/my-debian:1.0docker login <私有仓库地址>docker tag my-debian:1.0 <私有仓库地址>/<命名空间>/my-debian:1.0docker push <私有仓库地址>/<命名空间>/my-debian:1.0docker login 与 docker push 默认使用 Docker Hub(docker.io);推送前务必先登录并确认命名空间与标签正确。