核心内容摘要
蘑菇17c:解锁味蕾的奇幻之旅,探索舌尖上的“鲜”机
5 Docker镜像构建实战:Dockerfile指令详解与最佳实践引言Dockerfile是构建Docker镜像的蓝图。
掌握Dockerfile的编写方法和最佳实践,能够构建高效、安全的镜像。
本文将详细介绍Dockerfile的各个指令和最佳实践。
Dockerfile基础
1 什么是DockerfileDockerfile是一个文本文件,包含构建镜像的指令。
2 基本结构# 注释 FROM base_image # 指令 RUN command # ...
Dockerfile指令详解
1 FROM指定基础镜像。
# 使用官方镜像 FROM ubuntu:
2
04 # 使用Alpine(轻量级) FROM alpine:latest # 使用多阶段构建 FROM golang:
21 AS builder FROM alpine:latest
2 RUN执行命令,创建新层。
# 单个命令 RUN apt-get update # 多个命令合并(减少层数) RUN apt-get update \ apt-get install -y nginx \ rm -rf /var/lib/apt/lists/* # 使用shell形式 RUN echo "Hello" /tmp/hello.txt # 使用exec形式(推荐) RUN ["/bin/bash", "-c", "echo Hello /tmp/hello.txt"]
3 COPY vs ADD复制文件到镜像。
# COPY:推荐使用 COPY src/ /app/src/ COPY package.json /app/ # ADD:支持URL和自动解压(不推荐) ADD https://example.com/file.tar.gz /tmp/ ADD file.tar.gz /tmp/ # 自动解压最佳实践:优先使用COPY,除非需要自动解压或从URL下载。
4 WORKDIR设置工作目录。
WORKDIR /app RUN pwd # 输出:/app
5 ENV设置环境变量。
# 单个变量 ENV NODE_EN