news 2026/4/14 14:17:17

基于 python:3.9-slim 的 Dockerfile 入门 20 例(极简版 + 完整测试)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 python:3.9-slim 的 Dockerfile 入门 20 例(极简版 + 完整测试)

文章目录

  • 基于python:3.9-slim的Dockerfile入门20例(极简版+完整测试)
    • 通用前置准备
    • 示例1:最基础的Python镜像运行(FROM+CMD)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器(交互式)
        • 步骤2:验证结果
        • 步骤3:清理(--rm已自动清理容器,仅清理镜像可选)
    • 示例2:设置工作目录(WORKDIR)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:清理
    • 示例3:执行简单命令(RUN)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:清理
    • 示例4:复制文件(COPY)
      • 核心知识点
      • 前置文件
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:清理
    • 示例5:添加环境变量(ENV)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:运行时覆盖环境变量
        • 步骤4:清理
    • 示例6:暴露端口(EXPOSE)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:后台运行容器并映射端口
        • 步骤2:验证端口访问
        • 步骤3:查看容器暴露端口
        • 步骤4:清理
    • 示例7:定义标签(LABEL)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:查看镜像标签
        • 步骤2:验证结果
        • 步骤3:运行容器(验证基础功能)
        • 步骤4:清理
    • 示例8:运行Python脚本(实战简化版)
      • 核心知识点
      • 前置文件
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:清理
    • 示例9:使用ENTRYPOINT(与CMD结合)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:使用默认参数运行
        • 步骤2:覆盖CMD参数运行
        • 步骤3:清理
    • 示例10:创建非root用户(USER)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:清理
    • 示例11:定义构建参数(ARG)
      • 核心知识点
      • Dockerfile
      • 构建命令
        • 方式1:使用默认参数构建
        • 方式2:覆盖构建参数
      • 测试场景
        • 步骤1:测试默认参数镜像
        • 步骤2:测试覆盖参数镜像
        • 步骤3:清理
    • 示例12:挂载卷(VOLUME)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器并查看卷
        • 步骤2:验证卷内文件
        • 步骤3:清理
    • 示例13:健康检查(HEALTHCHECK)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:后台运行容器
        • 步骤2:查看健康状态(等待5秒)
        • 步骤3:模拟服务异常(停止HTTP服务)
        • 步骤4:清理
    • 示例14:多RUN命令合并(优化层)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:查看镜像层数(可选)
        • 步骤4:清理
    • 示例15:使用ADD(远程文件/解压)
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:后台运行容器并映射端口
        • 步骤2:验证服务
        • 步骤3:清理
    • 示例16:ONBUILD触发器
      • 核心知识点
      • 步骤1:构建基础镜像(含ONBUILD)
      • 步骤2:构建子镜像(触发ONBUILD)
      • 测试场景
        • 步骤1:运行子镜像
        • 步骤2:验证结果
        • 步骤3:清理
    • 示例17:自定义SHELL
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:查看构建日志
        • 步骤2:运行容器
        • 步骤3:清理
    • 示例18:STOPSIGNAL信号
      • 核心知识点
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:后台运行容器
        • 步骤2:查看容器日志
        • 步骤3:停止容器(触发SIGINT)
        • 步骤4:清理
    • 示例19:COPY带chown权限
      • 核心知识点
      • 前置文件
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:清理
    • 示例20:结合.dockerignore构建
      • 核心知识点
      • 前置文件
      • Dockerfile
      • 构建命令
      • 测试场景
        • 步骤1:运行容器
        • 步骤2:验证结果
        • 步骤3:清理
    • 入门练习总结

基于python:3.9-slim的Dockerfile入门20例(极简版+完整测试)

本文聚焦Dockerfile核心基础指令,设计20个极简示例,每个示例仅覆盖1-2个核心知识点,配套完整构建+运行+验证测试场景,适合Dockerfile入门练习,所有示例基于python:3.9-slim(轻量、易部署)。

通用前置准备

  1. 确保Docker已安装:docker --version(输出版本号即正常);
  2. 每个示例创建独立目录(如example01/),避免文件冲突;
  3. 测试逻辑:构建镜像→运行容器→验证结果→清理资源,新手可逐行执行。

示例1:最基础的Python镜像运行(FROM+CMD)

核心知识点

FROM(指定基础镜像)、CMD(容器启动命令)。

Dockerfile

# example01/Dockerfile FROM python:3.9-slim # 启动时执行python交互解释器
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 3:40:02

Pyfa终极指南:如何快速掌握EVE Online舰船配置工具

Pyfa终极指南:如何快速掌握EVE Online舰船配置工具 【免费下载链接】Pyfa Python fitting assistant, cross-platform fitting tool for EVE Online 项目地址: https://gitcode.com/gh_mirrors/py/Pyfa Pyfa作为专业的EVE Online舰船配置工具,为新…

作者头像 李华
网站建设 2026/4/13 17:54:29

Node-RED UI Builder:从零代码到专业级Web应用的一站式解决方案

Node-RED UI Builder:从零代码到专业级Web应用的一站式解决方案 【免费下载链接】node-red-contrib-uibuilder Easily create data-driven web UIs for Node-RED using any (or no) front-end framework. 项目地址: https://gitcode.com/gh_mirrors/no/node-red-c…

作者头像 李华
网站建设 2026/4/13 19:37:56

抗干扰PCBA布线实践:工业控制项目应用

抗干扰PCBA布线实战:从工业现场的“电磁风暴”中守护信号在一家自动化设备厂,一条价值千万的生产线突然停机——不是因为机械故障,也不是软件崩溃,而是PLC主板上一个模拟输入通道误读了0.5V的噪声为有效信号。排查三天后&#xff…

作者头像 李华
网站建设 2026/4/11 9:08:56

Mi-Create终极指南:免费开源的小米手表表盘创作工具

Mi-Create终极指南:免费开源的小米手表表盘创作工具 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 想要为你的小米智能手表设计个性化表盘吗&…

作者头像 李华
网站建设 2026/4/10 17:47:26

Dify可视化编排中条件分支逻辑的实现方式

Dify可视化编排中条件分支逻辑的实现方式 在构建现代AI应用时,一个常见的挑战是:如何让系统“聪明地做决定”?比如用户说“我生气了”,你是该安抚情绪、转接人工客服,还是立刻退款?传统做法是写一堆 if-els…

作者头像 李华
网站建设 2026/4/9 13:37:53

使用Dify开发多语言文本生成应用的注意事项

使用Dify开发多语言文本生成应用的注意事项 在跨境电商业务迅猛发展的今天,一个常见的挑战浮出水面:如何为全球不同市场的用户提供本地化、高质量的产品描述?传统做法是雇佣多语种文案团队,成本高且响应慢。而直接调用大模型API生…

作者头像 李华