mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-23 18:25:25 +00:00
Fix and improve
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
数据管理 示意图如下:
|
||||
|
||||

|
||||

|
||||
|
||||
这一章介绍如何在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式:
|
||||
|
||||
|
||||
@@ -29,8 +29,6 @@ Bind Mount(绑定挂载)将**宿主机的目录或文件**直接挂载到容
|
||||
|
||||
#### 选择建议
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```
|
||||
需求 推荐方案
|
||||
─────────────────────────────────────────
|
||||
@@ -95,8 +93,7 @@ $ docker run -d \
|
||||
$ echo "Hello" > src/index.html
|
||||
## 浏览器刷新即可看到变化
|
||||
|
||||
具体内容如下:
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
#### 场景二:配置文件挂载
|
||||
@@ -329,4 +326,4 @@ $ docker run -v /app/data:/data ...
|
||||
|
||||
- [数据卷](volume.md):Docker 管理的持久化存储
|
||||
- [tmpfs 挂载](tmpfs.md):内存临时存储
|
||||
- [Compose 数据管理](../compose/10.5_compose_file.md):Compose 中的挂载配置
|
||||
- [Compose 数据管理](../../10_compose/10.5_compose_file.md):Compose 中的挂载配置
|
||||
|
||||
35
08_data_network/data/tmpfs.md
Normal file
35
08_data_network/data/tmpfs.md
Normal file
@@ -0,0 +1,35 @@
|
||||
## tmpfs 挂载
|
||||
|
||||
`tmpfs` 挂载会把数据放在宿主机内存中,而不是写入容器可写层或数据卷。
|
||||
|
||||
### 适用场景
|
||||
|
||||
- 临时缓存
|
||||
- 会话数据
|
||||
- 不希望落盘的敏感中间文件
|
||||
|
||||
### 基本用法
|
||||
|
||||
```bash
|
||||
$ docker run --tmpfs /run:rw,noexec,nosuid,size=64m nginx
|
||||
```
|
||||
|
||||
也可以使用 `--mount` 语法:
|
||||
|
||||
```bash
|
||||
$ docker run --mount type=tmpfs,destination=/run,tmpfs-size=67108864 nginx
|
||||
```
|
||||
|
||||
### 注意事项
|
||||
|
||||
- 容器停止后,`tmpfs` 数据会丢失。
|
||||
- `tmpfs` 占用宿主机内存,建议显式限制大小。
|
||||
- 不适合需要持久化的数据。
|
||||
|
||||
### 与 Volume / Bind Mount 对比
|
||||
|
||||
| 类型 | 数据位置 | 持久化 | 典型用途 |
|
||||
|------|---------|-------|---------|
|
||||
| Volume | Docker 管理目录 | 是 | 数据库、长期业务数据 |
|
||||
| Bind Mount | 宿主机指定目录 | 是 | 开发联调、配置文件共享 |
|
||||
| tmpfs | 内存 | 否 | 高速临时数据、敏感临时文件 |
|
||||
@@ -31,8 +31,6 @@ flowchart LR
|
||||
|
||||
#### 容器存储层(不推荐存储重要数据)
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph Container [容器]
|
||||
@@ -47,8 +45,6 @@ graph TD
|
||||
|
||||
#### 数据卷(推荐)
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
subgraph Container [容器]
|
||||
@@ -417,4 +413,4 @@ $ docker volume inspect my-vol
|
||||
|
||||
- [绑定挂载](bind-mounts.md):挂载宿主机目录
|
||||
- [tmpfs 挂载](tmpfs.md):内存中的临时存储
|
||||
- [存储驱动](../14_implementation/14.4_ufs.md):Docker 存储的底层原理
|
||||
- [存储驱动](../../14_implementation/14.4_ufs.md):Docker 存储的底层原理
|
||||
|
||||
@@ -47,8 +47,6 @@ graph TD
|
||||
|
||||
### 数据流向
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```
|
||||
容器 A (172.17.0.2) → docker0 → 容器 B (172.17.0.3) (容器间通信)
|
||||
容器 A (172.17.0.2) → docker0 → eth0 → 互联网 (访问外网)
|
||||
@@ -159,8 +157,7 @@ $ docker run -d --name app --network app-net myapp
|
||||
|
||||
## app 容器中可以用 redis:6379 连接 Redis
|
||||
|
||||
具体内容如下:
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
### 连接到多个网络
|
||||
@@ -234,8 +231,6 @@ $ docker port mycontainer
|
||||
|
||||
### 端口映射示意图
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```
|
||||
外部请求 http://宿主机IP:8080
|
||||
│
|
||||
@@ -329,4 +324,4 @@ $ docker network prune
|
||||
|
||||
- [配置 DNS](dns.md):自定义 DNS 设置
|
||||
- [端口映射](port_mapping.md):高级端口配置
|
||||
- [Compose 网络](../compose/10.5_compose_file.md):Compose 中的网络配置
|
||||
- [Compose 网络](../../10_compose/10.5_compose_file.md):Compose 中的网络配置
|
||||
|
||||
@@ -164,5 +164,5 @@ iptables -t nat -A DOCKER -p tcp --dport 8080 -j DNAT --to-destination 172.17.0.
|
||||
|
||||
### 延伸阅读
|
||||
|
||||
- [EXPOSE 指令](../07_dockerfile/7.9_expose.md):在 Dockerfile 中声明端口
|
||||
- [EXPOSE 指令](../../07_dockerfile/7.9_expose.md):在 Dockerfile 中声明端口
|
||||
- [网络模式](README.md):Host 模式不需要端口映射
|
||||
|
||||
Reference in New Issue
Block a user