当前位置: 首页 > news >正文

Goer-系列1-Dockerfile构建自定义镜像 - 详解

Goer-系列1-Dockerfile构建自定义镜像 - 详解

Dockerfile 是构建自定义镜像的「脚本文件」,通过一系列指令定义镜像的构建步骤,替代手动在容器内操作(如安装依赖、配置环境),实现镜像的可重复构建、版本化管理。掌握 Dockerfile 是 Docker 进阶的核心技能,以下从「核心指令」「实战案例」「构建优化」三个维度展开讲解。

一、Dockerfile 核心指令(必学)

Dockerfile 指令按功能可分为「基础配置」「文件操作」「环境设置」「启动命令」四类,每个指令都是大写字母(约定俗成),按执行顺序构建镜像(每一行指令通常对应镜像的一层)。

1. 基础配置指令(定义镜像基础)
2. 文件操作指令(复制/添加文件)
  • COPY:将宿主机的文件/目录复制到镜像中(推荐使用,功能简单明确)。
    语法:COPY [--chown=用户:组] 宿主机路径 镜像内路径
    示例:

    # 复制当前目录的 app.py 到镜像的 /app 目录
    COPY app.py /app/
    # 复制当前目录的所有文件(除 .dockerignore 排除的)到镜像的 /app 目录
    COPY . /app/
  • ADD:功能类似 COPY,但支持额外特性(不推荐轻易使用):

    • 自动解压压缩包(如 .tar.zip,复制到镜像后会自动解压);
    • 支持 URL 路径(从网络下载文件到镜像,但不建议,推荐用 RUN wget/curl 更灵活)。
      示例:
    # 复制并自动解压 local.tar.gz 到镜像的 /app 目录(等价于 COPY + 解压)
    ADD local.tar.gz /app/
3. 环境配置指令(执行命令/设置环境)
  • RUN:在镜像构建阶段执行命令(如安装依赖、配置环境),执行结果会被打包到镜像中。
    语法:

    • shell 格式:RUN 命令(默认在 /bin/sh -c 中执行,支持管道 |、变量等);
http://www.gsyq.cn/news/74465.html

相关文章:

  • 2025年中国装配式建筑房屋设计安装公司TOP5推荐:装配式
  • PbootCMS搜索未搜索到任何数据,Pb多条件搜索
  • 2025年12月代理记账服务商权威推荐榜:覆盖三明、龙岩、漳州、福州、南平、东山县,专注电商、餐饮、小微企业财税解决方案
  • 2025年不错的凸轮转子泵企业排行,比较好的凸轮转子泵公司推
  • PbootCMS开启后台菜单管理功能
  • 2025年12月羽毛粉设备厂家推荐:五大厂商综合实力排行榜单及选购策略分析
  • 2025年12月羽毛粉设备厂家推荐:权威排行榜与选购指南分析
  • 网站文章发布时间更改(怎么修改网页上的日期)
  • 直播系统源码开发搭建选型之道:如何避开倒卖现象找到真正深耕型研发服务商?
  • 2025年度实力不错的桥梁护栏工厂TOP5权威推荐:甄选桥梁
  • 2025年12月改性包覆设备厂家推荐排行榜:深度评测对比分析与选购决策指南
  • C++基础语法
  • AI颠覆前后端配比
  • 2025年12月乐山美食店推荐:五大热门餐厅深度对比排行榜单与消费者选择策略指南
  • 2025年12月透水砖厂家推荐:五大品牌综合实力对比评测排行榜
  • 2025年12月透水砖厂家推荐:海绵城市建设工程核心供应商排行榜单
  • 2025年12月乐山美食店推荐:必吃榜深度评测与热门餐厅综合排行指南
  • PbootCMS登录失败:您登录失败次数太多已被锁定,请591秒后再试!
  • 2025年12月改性包覆设备厂家推荐:专业排行榜单与深度对比评测分析指南
  • PbootCMS网站附件上传报错UNKNOW: Code: 8192; Desc: stripos()
  • 帝国cms备份数据库出现问题的解决方法
  • 成都悦享源科技有限公司 联系方式: 家政职业教育服务联系指南与提醒
  • 2025 杭州西湖区摄影培训权威推荐:为什么选择路人贾
  • 2025年12月乐山美食店推荐:五大人气品牌深度对比与口碑评测排行榜全解析
  • 2025一体化净水设备优质厂家推荐指南
  • markdown-md文件查看软件
  • 网站打开提示“未检测到您服务器环境的 sqlite3 数据库扩展...”
  • 20232416 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • 2025年度郑州包装公司TOP5权威推荐:森一包装,甄选企业
  • PbootCMS 上一篇/下一篇调用:如何将“没有了”改为英文