Fix guide issues

This commit is contained in:
yeasy
2026-03-28 18:24:46 -07:00
parent 5a6a50ba97
commit 85f76aa6d9
28 changed files with 123 additions and 885 deletions
+6 -6
View File
@@ -2,7 +2,7 @@
### 8.2.1 什么是绑定挂载
Bind Mount (绑定挂载) **宿主机的目录或文件** 直接挂载到容器中容器可以读写宿主机的文件系统
Bind Mount (绑定挂载) **Docker daemon 所在主机** 上的目录或文件直接挂载到容器中容器可以读写这台主机的文件系统
```mermaid
flowchart LR
@@ -51,7 +51,7 @@ flowchart LR
### 8.2.3 基本语法
#### 使用 --mount推荐
#### 使用 `--mount`推荐
```bash
$ docker run -d \
@@ -59,7 +59,7 @@ $ docker run -d \
nginx
```
#### 使用 -v简写
#### 使用 `-v`简写
```bash
$ docker run -d \
@@ -75,7 +75,7 @@ $ docker run -d \
| 路径不存在时 | 直接报错 (Fail Fast) | 静默自动创建 **目录** |
| 推荐程度 | 推荐 | 常用 |
> ** 陷阱**如果不小心挂载了一个不存在的宿主机路径使用 `-v` 会在宿主机上静默创建一个 **空目录**即使你本来想挂载的是一个文件这常常会导致权限错误或应用无法正常读取这也正是为什么 Docker 官方更推荐使用 `--mount` 的原因它会遵循Fail Fast原则直接报错避免弄巧成拙
> ** 陷阱**如果不小心挂载了一个不存在的主机路径使用 `-v` 会在 **daemon 主机** 上静默创建一个空目录对于本地 Docker Desktop 用户这个主机通常就是本机对于远程 daemon这个主机就是远程机器这也 Docker 官方更推荐使用 `--mount` 的原因它会直接报错避免因路径拼写错误而挂错位置
---
@@ -213,7 +213,7 @@ $ docker run --mount type=bind,source=/not/exist,target=/app nginx
docker: Error response from daemon: invalid mount config for type "bind":
bind source path does not exist: /not/exist
```
**解决**确保源路径存在改用 `-v` (会自动创建)
**解决**确保源路径存在若你确实需要自动创建目录改用 `-v`但要先确认创建位置就是你想要的主机路径
#### Q权限问题
@@ -235,7 +235,7 @@ $ docker run -u $(id -u):$(id -g) ...
#### QmacOS/Windows 性能问题
Docker Desktop Bind Mount 性能较差 (需要跨文件系统同步)
Docker Desktop Bind Mount 性能通常不如 Volume因为数据需要在宿主机文件系统和 Linux VM 之间同步
```bash
## 使用 :cached 或 :delegated 提高性能(macOS