mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-27 04:05:22 +00:00
Add blank lines around headers
This commit is contained in:
@@ -41,6 +41,7 @@ graph TD
|
||||
Lifecycle[生命周期 = 容器生命周期] -.-> Container
|
||||
Delete[容器删除] -->|导致| DataLost[数据丢失 ❌]
|
||||
```
|
||||
|
||||
#### 数据卷:推荐
|
||||
|
||||
```mermaid
|
||||
@@ -65,6 +66,7 @@ graph TD
|
||||
```bash
|
||||
$ docker volume create my-vol
|
||||
```
|
||||
|
||||
#### 列出所有数据卷
|
||||
|
||||
```bash
|
||||
@@ -74,6 +76,7 @@ local my-vol
|
||||
local postgres_data
|
||||
local redis_data
|
||||
```
|
||||
|
||||
#### 查看数据卷详情
|
||||
|
||||
```bash
|
||||
@@ -182,6 +185,7 @@ $ docker run -d \
|
||||
-v postgres_data:/var/lib/postgresql/data \
|
||||
postgres:16
|
||||
```
|
||||
|
||||
#### 场景二:多容器共享数据
|
||||
|
||||
```bash
|
||||
@@ -201,6 +205,7 @@ $ docker run --rm \
|
||||
-v shared-data:/data \
|
||||
alpine cat /data/log.txt
|
||||
```
|
||||
|
||||
#### 场景三:配置文件持久化
|
||||
|
||||
```bash
|
||||
@@ -227,6 +232,7 @@ $ docker volume rm my-vol
|
||||
|
||||
$ docker rm -v container_name
|
||||
```
|
||||
|
||||
#### 清理未使用的数据卷
|
||||
|
||||
```bash
|
||||
@@ -279,6 +285,7 @@ $ docker run --rm \
|
||||
-v $(pwd):/backup:ro \
|
||||
alpine tar xzf /backup/my-vol-backup.tar.gz -C /target
|
||||
```
|
||||
|
||||
#### 备份脚本示例
|
||||
|
||||
```bash
|
||||
@@ -331,6 +338,7 @@ $ docker run -v /host/path:/app/data nginx
|
||||
```bash
|
||||
$ docker inspect container_name --format '{{json .Mounts}}' | jq
|
||||
```
|
||||
|
||||
#### Q:数据卷的数据在哪里?
|
||||
|
||||
```bash
|
||||
|
||||
@@ -58,6 +58,7 @@ $ docker run -d \
|
||||
--mount type=bind,source=/宿主机路径,target=/容器路径 \
|
||||
nginx
|
||||
```
|
||||
|
||||
#### 使用 -v:简写
|
||||
|
||||
```bash
|
||||
@@ -65,6 +66,7 @@ $ docker run -d \
|
||||
-v /宿主机路径:/容器路径 \
|
||||
nginx
|
||||
```
|
||||
|
||||
#### 两种语法对比
|
||||
|
||||
| 特性 | --mount | -v |
|
||||
@@ -97,6 +99,7 @@ $ echo "Hello" > src/index.html
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
#### 场景二:配置文件挂载
|
||||
|
||||
```bash
|
||||
@@ -106,6 +109,7 @@ $ docker run -d \
|
||||
--mount type=bind,source=/path/to/nginx.conf,target=/etc/nginx/nginx.conf,readonly \
|
||||
nginx
|
||||
```
|
||||
|
||||
#### 场景三:日志收集
|
||||
|
||||
```bash
|
||||
@@ -115,6 +119,7 @@ $ docker run -d \
|
||||
--mount type=bind,source=/var/log/myapp,target=/app/logs \
|
||||
myapp
|
||||
```
|
||||
|
||||
#### 场景四:共享 SSH 密钥
|
||||
|
||||
```bash
|
||||
@@ -227,6 +232,7 @@ $ docker run -u root ...
|
||||
|
||||
$ docker run -u $(id -u):$(id -g) ...
|
||||
```
|
||||
|
||||
#### Q:macOS/Windows 性能问题
|
||||
|
||||
在 Docker Desktop 上,Bind Mount 性能较差 (需要跨文件系统同步):
|
||||
@@ -253,6 +259,7 @@ $ docker run -v /host/path:/container/path:cached myapp
|
||||
|
||||
$ docker run -v $(pwd):/app -p 3000:3000 node npm run dev
|
||||
```
|
||||
|
||||
#### 2. 生产环境使用 Volume
|
||||
|
||||
```bash
|
||||
@@ -260,11 +267,13 @@ $ docker run -v $(pwd):/app -p 3000:3000 node npm run dev
|
||||
|
||||
$ docker run -v mysql_data:/var/lib/mysql mysql
|
||||
```
|
||||
|
||||
#### 3. 配置文件使用只读挂载
|
||||
|
||||
```bash
|
||||
$ docker run -v /config/nginx.conf:/etc/nginx/nginx.conf:ro nginx
|
||||
```
|
||||
|
||||
#### 4. 注意路径安全
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user