mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
style: apply global formatting fixes (struct, spacing, zhlint)
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
## 7.2 COPY 复制文件
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### 基本语法
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
COPY [选项] <源路径>... <目标路径>
|
||||
COPY [选项] ["<源路径1>", "<源路径2>", ... "<目标路径>"]
|
||||
@@ -13,8 +17,12 @@ COPY [选项] ["<源路径1>", "<源路径2>", ... "<目标路径>"]
|
||||
|
||||
### 基本用法
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 复制单个文件
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 复制文件到指定目录
|
||||
|
||||
@@ -27,6 +35,8 @@ COPY config.json /app/settings.json
|
||||
|
||||
#### 复制多个文件
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 复制多个指定文件
|
||||
|
||||
@@ -40,6 +50,8 @@ COPY src/*.js /app/src/
|
||||
|
||||
#### 复制目录
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 复制整个目录的内容(不是目录本身)
|
||||
|
||||
@@ -78,13 +90,19 @@ COPY app[0-9].js /app/ # app0.js ~ app9.js
|
||||
|
||||
### 目标路径
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 绝对路径
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
COPY app.js /usr/src/app/
|
||||
```
|
||||
|
||||
#### 相对路径(基于 WORKDIR)
|
||||
#### 相对路径 (基于 WORKDIR)
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
WORKDIR /app
|
||||
@@ -168,8 +186,12 @@ ADD app.tar.gz /app/
|
||||
|
||||
### 多阶段构建中的 COPY
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 从其他构建阶段复制
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 构建阶段
|
||||
|
||||
@@ -186,7 +208,9 @@ FROM nginx:alpine
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
```
|
||||
|
||||
#### 使用 --link 优化缓存(BuildKit)
|
||||
#### 使用 --link 优化缓存
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 使用 --link 后,文件以独立层添加,不依赖前序指令
|
||||
@@ -225,7 +249,11 @@ Dockerfile
|
||||
|
||||
### 最佳实践
|
||||
|
||||
#### 1. 利用缓存,先复制依赖文件
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 1。利用缓存,先复制依赖文件
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## ✅ 好:先复制依赖定义,再安装,最后复制代码
|
||||
@@ -240,7 +268,9 @@ COPY . .
|
||||
RUN npm install
|
||||
```
|
||||
|
||||
#### 2. 使用 .dockerignore
|
||||
#### 2。使用。dockerignore
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 确保 node_modules 不被复制
|
||||
@@ -251,7 +281,9 @@ COPY . .
|
||||
...
|
||||
```
|
||||
|
||||
#### 3. 明确复制路径
|
||||
#### 3。明确复制路径
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## ✅ 好:明确的路径
|
||||
|
||||
Reference in New Issue
Block a user