news 2026/6/4 1:18:39

基于 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/5/30 16:28:52

Dify镜像在边缘计算节点上的轻量化改造方案

Dify镜像在边缘计算节点上的轻量化改造方案 在工业现场的某个角落,一台老旧电机发出异响,维修工掏出手机,在一个本地网页中输入问题:“电机异响如何排查?”不到三秒,系统返回了结构化建议——无需联网、不依…

作者头像 李华
网站建设 2026/5/30 0:31:39

动画导出革命:Bodymovin插件高效工作流全解析

动画导出革命:Bodymovin插件高效工作流全解析 【免费下载链接】bodymovin-extension Bodymovin UI extension panel 项目地址: https://gitcode.com/gh_mirrors/bod/bodymovin-extension 还在为AE动画导出效率低下而烦恼吗?作为专业的动画设计师&…

作者头像 李华
网站建设 2026/5/30 18:52:43

基于微信小程序的菜谱设计与实现文献综述

本科毕业论文(设计)文献综述题 目 基于微信小程序的菜谱设计与实现姓 名 学 号 202100181136 院(系部) 数学与信息技术学院 专 业 网络工程 指导教师…

作者头像 李华
网站建设 2026/5/30 18:53:27

FanControl深度指南:7个实用技巧彻底掌控Windows风扇控制

FanControl深度指南:7个实用技巧彻底掌控Windows风扇控制 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending…

作者头像 李华
网站建设 2026/5/30 18:51:41

ADBKeyBoard完整指南:解锁Android自动化输入终极方案

ADBKeyBoard完整指南:解锁Android自动化输入终极方案 【免费下载链接】ADBKeyBoard Android Virtual Keyboard Input via ADB (Useful for Test Automation) 项目地址: https://gitcode.com/gh_mirrors/ad/ADBKeyBoard 在移动应用测试和自动化操作领域&#…

作者头像 李华
网站建设 2026/6/1 5:15:35

基于响应式控制理论的GPU风扇静音优化框架

基于响应式控制理论的GPU风扇静音优化框架 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanControl.Releases …

作者头像 李华