Fix and improve

This commit is contained in:
Baohua Yang
2026-02-12 16:51:50 -08:00
parent bae82e993a
commit 0835f8467a
100 changed files with 280 additions and 622 deletions

View File

@@ -2,8 +2,6 @@
### 基本语法
具体内容如下
```docker
COPY [选项] <源路径>... <目标路径>
COPY [选项] ["<源路径1>", "<源路径2>", ... "<目标路径>"]
@@ -17,8 +15,6 @@ COPY [选项] ["<源路径1>", "<源路径2>", ... "<目标路径>"]
#### 复制单个文件
具体内容如下
```docker
## 复制文件到指定目录
@@ -31,8 +27,6 @@ COPY config.json /app/settings.json
#### 复制多个文件
具体内容如下
```docker
## 复制多个指定文件
@@ -46,8 +40,6 @@ COPY src/*.js /app/src/
#### 复制目录
具体内容如下
```docker
## 复制整个目录的内容(不是目录本身)
@@ -86,9 +78,8 @@ COPY app[0-9].js /app/ # app0.js ~ app9.js
### 目标路径
#### 绝对路径
具体内容如下
#### 绝对路径
```docker
COPY app.js /usr/src/app/
@@ -96,8 +87,6 @@ COPY app.js /usr/src/app/
#### 相对路径基于 WORKDIR
具体内容如下
```docker
WORKDIR /app
COPY package.json ./ # 复制到 /app/package.json
@@ -182,8 +171,6 @@ ADD app.tar.gz /app/
#### 从其他构建阶段复制
具体内容如下
```docker
## 构建阶段
@@ -202,8 +189,6 @@ COPY --from=builder /app/dist /usr/share/nginx/html
#### 使用 --link 优化缓存BuildKit
具体内容如下
```docker
## 使用 --link 后,文件以独立层添加,不依赖前序指令
@@ -243,8 +228,6 @@ Dockerfile
#### 1. 利用缓存先复制依赖文件
具体内容如下
```docker
## ✅ 好:先复制依赖定义,再安装,最后复制代码
@@ -260,22 +243,17 @@ RUN npm install
#### 2. 使用 .dockerignore
具体内容如下
```docker
## 确保 node_modules 不被复制
COPY . .
## .dockerignore 中应包含 node_modules
具体内容如下:
...
```
#### 3. 明确复制路径
具体内容如下
```docker
## ✅ 好:明确的路径
@@ -301,7 +279,7 @@ COPY . .
### 延伸阅读
- [ADD 指令](add.md)复制和解压
- [WORKDIR 指令](workdir.md)设置工作目录
- [多阶段构建](../multistage-builds.md)优化镜像大小
- [最佳实践](../../16_appendix/16.1_best_practices.md)Dockerfile 编写指南
- [ADD 指令](7.3_add.md)复制和解压
- [WORKDIR 指令](7.10_workdir.md)设置工作目录
- [多阶段构建](7.17_multistage_builds.md)优化镜像大小
- [最佳实践](../16_appendix/16.1_best_practices.md)Dockerfile 编写指南