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

Dockerfile 详解:构建自定义镜像

Dockerfile 是一种文本文件,包含了一系列指令,用于描述如何构建一个 Docker 镜像。通过 Dockerfile,我们可以将应用程序及其所有依赖打包成镜像,确保应用在不同环境中运行时保持一致性。掌握 Dockerfile 的写法和最佳实践,能够帮助我们高效地构建和管理容器镜像。

本文将详细介绍 Dockerfile 的基本结构常用指令构建自定义镜像 以及 优化镜像 的技巧。


1. Dockerfile 的基本结构

Dockerfile 是由一组指令(命令)组成,每个指令都有特定的功能。基本的 Dockerfile 文件结构如下:

# 基础镜像
FROM <base_image>

# 镜像维护者信息
LABEL maintainer="your_email@example.com"

# 设置工作目录
WORKDIR /app

# 复制文件到容器
COPY <source> <destination>

# 安装依赖
RUN <command>

# 设置环境变量
ENV <key> <value>

# 暴露端口
EXPOSE <port>

# 容器启动命令
CMD <command>

Dockerfile 的每一条指令都会生成一个新的 镜像层(Layer),Docker 会通过这些层的叠加形成最终的镜像。


2. 常用 Dockerfile 指令

2.1 FROM - 基础镜像

FROM 是 Dockerfile 中的第一条指令,指定构建镜像的基础镜像。每个 Dockerfile 都必须包含一个 FROM 指令。

FROM ubuntu:20.04

这里,ubuntu:20.04 是我们构建镜像的基础镜像,表示该镜像基于 Ubuntu 20.04。


2.2 LABEL - 镜像维护者信息

LABEL 指令用于添加元数据,通常用于描述镜像的维护者、版本、用途等信息。

LABEL maintainer="your_email@example.com"

通过 LABEL,可以为镜像添加如维护者信息、版本等字段࿰


http://www.kler.cn/a/551444.html

相关文章:

  • AUTO TECH China 2025 广州国际汽车技术展览会:引领汽车科技新潮流
  • 日常问题-pnpm install执行没有node_modules生成
  • OpenHarmony 系统性能优化——默认关闭全局动画
  • DeepSeek教unity------Dotween
  • 网络安全学习笔记之Internet基本知识
  • 开发一个交易所需要哪些技术
  • 算法-栈括号匹配
  • Go语言的游戏开发
  • 视点坐标及鼠标交点坐标的信息显示(七)
  • HBuilderX中uni-app打开页面时,如何用URL传递参数,Query参数传递
  • docker拉取失败received unexpected Http status:500 Internal Server Error
  • HTML之JavaScript对象
  • Ubuntu 22.04.5 LTS 安装企业微信,(2025-02-17安装可行)
  • 后端开发:高效数据库查询优化实战指南
  • TensorFlow 和 PyTorch 哪个更适合新手学习?
  • Ollmao (OH-luh-毛程序包及源码) 是一款原生 SwiftUI 应用程序,它与 Ollama 集成,可在 Mac 上本地运行强大的 AI 模型
  • 医院药品管理系统|基于SprinBoot+vue的医院药品管理系统(源码+数据库+文档)
  • 同花顺数据爬取并生成K线
  • 问题解决:vmware设置共享文件夹后找不到/mnt/hgfs
  • python学习之爬虫基础