news 2026/4/3 4:12:12

基于 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/3/28 23:11:00

Dify平台对函数调用(Function Calling)的支持细节

Dify平台对函数调用(Function Calling)的支持细节 在构建现代AI应用的过程中,一个反复出现的挑战是:如何让大语言模型不只是“说”,还能真正“做”?当用户问“我的订单到哪了”,我们希望系统能自…

作者头像 李华
网站建设 2026/3/15 6:28:21

STM32编程实战指南:高效开发工具深度解析

STM32编程实战指南:高效开发工具深度解析 【免费下载链接】stlink 项目地址: https://gitcode.com/gh_mirrors/stl/stlink 在嵌入式开发领域,STM32微控制器凭借其强大的性能和丰富的外设资源,已成为众多工程师的首选方案。然而&#…

作者头像 李华
网站建设 2026/3/19 8:33:50

QuickRecorder系统音频录制终极方案:从无声到完美的完整指南

你是否曾在录制重要会议时发现只有画面没有声音?精心制作的游戏视频缺少了激动人心的背景音乐?教学录屏中只看到操作却听不到讲解?这些令人沮丧的无声录屏问题,在QuickRecorder这款基于macOS ScreenCapture Kit的专业录屏工具面前…

作者头像 李华
网站建设 2026/3/28 14:36:21

xiaozhi-esp32 AI聊天机器人:从零到精通的完整实践手册

xiaozhi-esp32 AI聊天机器人:从零到精通的完整实践手册 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 想要亲手打造一个智能AI伙伴吗?xiaozhi-esp32项目为你提供了…

作者头像 李华
网站建设 2026/3/31 4:20:26

x-ui配置迁移终极指南:从零开始实现数据无缝转移

x-ui配置迁移终极指南:从零开始实现数据无缝转移 【免费下载链接】x-ui 项目地址: https://gitcode.com/gh_mirrors/xui/x-ui 在x-ui版本升级或系统迁移过程中,配置数据的完整性和安全性是每个技术用户最关心的问题。本文将为你提供一套完整的x-…

作者头像 李华
网站建设 2026/3/31 11:46:31

热销榜单:2025年动环监控系统TOP10推荐,助力智能化机房管理指数提升

在2025年,动力环境监控系统的市场需求不断上升,成为智能机房管理的关键工具。随着信息技术的迅猛发展,这些系统应运而生,能对机房内环境及设备状态进行全面监控。本文将为您推荐2025年更受欢迎的动环监控系统TOP10,涵盖…

作者头像 李华