mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 08:27:25 +00:00
Fix Chinese curly quotes in prose text
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
## 7.5 ENTRYPOINT 入口点
|
||||
|
||||
### 何时使用 ENTRYPOINT:从"容器"到"命令"
|
||||
### 何时使用 ENTRYPOINT:从“容器”到“命令”
|
||||
|
||||
如果说 CMD 是"容器中的默认程序",那么 ENTRYPOINT 就是"把容器变成一个命令"。这个思维转变决定了你何时使用 ENTRYPOINT。
|
||||
如果说 CMD 是“容器中的默认程序”,那么 ENTRYPOINT 就是“把容器变成一个命令”。这个思维转变决定了你何时使用 ENTRYPOINT。
|
||||
|
||||
**使用 ENTRYPOINT 的典型场景**:
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
# docker run myimage --port 9000 → python app.py --port 9000
|
||||
```
|
||||
|
||||
**对比 CMD**:如果没有这些"把容器当命令用"的需求,通常使用 CMD 就足够了。
|
||||
**对比 CMD**:如果没有这些“把容器当命令用”的需求,通常使用 CMD 就足够了。
|
||||
|
||||
### 7.5.1 什么是 ENTRYPOINT
|
||||
|
||||
|
||||
@@ -15,15 +15,15 @@ Dockerfile 是一个文本文件,其内包含了一条条的 **指令 (Instruc
|
||||
|
||||
## Dockerfile 编写哲学
|
||||
|
||||
在深入每个指令的细节之前,笔者想强调一个至关重要的原则:**Dockerfile 不是脚本,而是镜像的"设计图"**。这个区别决定了你如何思考每条指令的作用。
|
||||
在深入每个指令的细节之前,笔者想强调一个至关重要的原则:**Dockerfile 不是脚本,而是镜像的“设计图”**。这个区别决定了你如何思考每条指令的作用。
|
||||
|
||||
相比编写 Bash 脚本的思维("按顺序执行这些命令"),Dockerfile 的思维应该是("这一层镜像应该如何构建,下一层如何分层")。这个思维转变会影响你的决策:
|
||||
相比编写 Bash 脚本的思维(“按顺序执行这些命令”),Dockerfile 的思维应该是(“这一层镜像应该如何构建,下一层如何分层”)。这个思维转变会影响你的决策:
|
||||
|
||||
- **合并命令**:一个 `RUN apt-get update && apt-get install ...` 应该写在一起,而不是分开成多个 `RUN` 指令,因为它们是同一个"层"的逻辑
|
||||
- **合并命令**:一个 `RUN apt-get update && apt-get install ...` 应该写在一起,而不是分开成多个 `RUN` 指令,因为它们是同一个“层”的逻辑
|
||||
- **选择合适的指令**:`COPY` vs `ADD`、`CMD` vs `ENTRYPOINT` 这些选择不是随意的,而是根据镜像分层的语义来决定的
|
||||
- **优化镜像大小**:最后才清理缓存、删除临时文件,让这些"瘦身"操作在同一层完成
|
||||
- **优化镜像大小**:最后才清理缓存、删除临时文件,让这些“瘦身”操作在同一层完成
|
||||
|
||||
这个章节将详细介绍各个指令。在学习指令语法时,请始终思考:"这个指令为什么要以这样的方式工作?如果我是 Docker,我应该如何设计它?"
|
||||
这个章节将详细介绍各个指令。在学习指令语法时,请始终思考:“这个指令为什么要以这样的方式工作?如果我是 Docker,我应该如何设计它?”
|
||||
|
||||
## Dockerfile 基本结构
|
||||
|
||||
|
||||
Reference in New Issue
Block a user