news 2026/1/5 22:41:16

基于 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/1/3 2:13:23

掌握EmojiOne Color彩色表情字体的完整使用指南

在现代数字沟通中,表情符号已经成为不可或缺的视觉语言元素。EmojiOne Color作为一款基于Adobe EmojiOne 2.3艺术设计的开源彩色字体,为设计师和开发者提供了丰富多样的表情符号解决方案。本文将带您深入了解这款字体的核心优势、安装方法和创意应用。 【…

作者头像 李华
网站建设 2026/1/3 12:37:38

AUTOSAR开发流程图解:项目入门实战案例

从零开始搞懂AUTOSAR:一个车身控制器的实战开发全记录你有没有遇到过这样的情况——接到一个汽车ECU开发任务,手头一堆工具(DaVinci、ISOLAR、EB tresos),文档上百页,却不知道从哪下手?点开配置…

作者头像 李华
网站建设 2026/1/3 12:37:36

cd4511配合计数器制作电子时钟:系统设计指南

用CD4511和计数器搭一个“看得见逻辑”的电子时钟:从芯片到显示的硬核实战你有没有试过,只用几块逻辑芯片,就做出一个会走的电子时钟?没有单片机、不写一行代码,却能让数码管一秒一秒地跳动——这种“看得见的时序”&a…

作者头像 李华
网站建设 2026/1/5 17:51:11

3分钟掌握百度网盘秒传技术:告别龟速下载的终极解决方案

3分钟掌握百度网盘秒传技术:告别龟速下载的终极解决方案 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 百度网盘秒传链接工具是一款基于…

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

JADX反编译工具完整使用教程:从零基础到实战精通

JADX反编译工具完整使用教程:从零基础到实战精通 【免费下载链接】jadx skylot/jadx: 是一个用于反编译Android应用的工具。适合用于需要分析和学习Android应用实现细节的开发者。特点是可以提供反编译功能,将Android应用打包的APK文件转换成可阅读的Jav…

作者头像 李华
网站建设 2026/1/3 20:40:16

Windows Defender故障修复终极指南:快速恢复系统安全防护

Windows Defender故障修复终极指南:快速恢复系统安全防护 【免费下载链接】no-defender A slightly more fun way to disable windows defender. (through the WSC api) 项目地址: https://gitcode.com/GitHub_Trending/no/no-defender 当你发现Windows Defe…

作者头像 李华