Skip to content

Commit e6b6c3a

Browse files
committed
docs(docker): 更新docker应用实战文档内容。
更新docker部署mysql数据库笔记文档。
1 parent cb8abb6 commit e6b6c3a

File tree

1 file changed

+36
-45
lines changed

1 file changed

+36
-45
lines changed

docs/zh/DevOps/01-Docker/02-Docker应用实战/01-部署MySQL数据库.md

Lines changed: 36 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,7 @@ mysql -uroot -p12345678
4747
mkdir mysql && cd mysql
4848
```
4949

50-
`mysql` 目录下创建一个 `mysql_volumes` 目录,并切换到该目录,该目录是用于存储 mysql 容器持久化的数据的。
51-
52-
```shell
53-
mkdir mysql_volumes && cd mysql_volumes
54-
```
55-
56-
`mysql_volumes` 目录下创建 `data` 目录【该目录是 mysql 容器持久化数据的目录】。
50+
`mysql` 目录下创建 `data` 目录【该目录是 mysql 容器持久化数据的目录】。
5751

5852
```shell
5953
mkdir data
@@ -63,8 +57,7 @@ mkdir data
6357

6458
```shell
6559
mysql
66-
└── mysql_volumes
67-
└── data
60+
└── data
6861
```
6962

7063
`data` 目录分配权限。
@@ -77,38 +70,39 @@ chmod -R 777 data
7770

7871
```shell
7972
docker run -p 3306:3306 --name mysql8 \
80-
-v $PWD/mysql_volumes/data:/var/lib/mysql \
73+
-v $PWD/data:/var/lib/mysql \
8174
-e MYSQL_ROOT_PASSWORD=12345678 \
8275
-d mysql:8.4.1
8376
```
8477

8578
以上 docker run 命令讲解:
8679
- `-p` 参数用于将主机的端口号 3306 映射到容器的端口号 3306。
8780
- `--name`:容器名称。
88-
- `-v`:参数用于将主机的目录映射到容器的目录,这里是将主机的 `mysql_volumes/data` 目录映射到容器的 `/var/lib/mysql` 目录。
81+
- `-v`:参数用于将主机的目录映射到容器的目录,这里是将主机的 `data` 目录映射到容器的 `/var/lib/mysql` 目录。
8982
- `-e`:参数用于设置环境变量,这里设置环境变量 `MYSQL_ROOT_PASSWORD` 的值为 `12345678`
9083
- `-d`:参数用于将 MySQL 容器设置为后台运行模式。
9184
- `mysql:8.4.1`:镜像名称。
9285
- `\`:换行符。
9386

9487
将 MySQL 容器的日志目录、配置文件目录、数据数据初始化目录、插件目录持久化到主机上,因此当容器被删除时,数据不会丢失。
9588

96-
mysql_volumes 目录下创建 `conf` 目录,该目录是用于存储 MySQL 容器配置文件的目录将 MySQL 容器内的配置文件映射出来到宿主机上的。
89+
`mysql` 目录下创建 `config` 目录,该目录是用于存储 MySQL 容器配置文件的目录将 MySQL 容器内的配置文件映射出来到宿主机上的。
9790
```shell
98-
mkdir conf
91+
mkdir config
9992
```
10093

10194
创建完 `conf` 目录之后,目录结构如下:
10295

10396
```shell
10497
mysql
105-
└── mysql_volumes
106-
├── conf
107-
└── data
98+
├── config
99+
└── data
108100
```
109101

110102
### 创建 my.cnf 配置文件
111103

104+
`config` 目录下创建 `my.cnf` 配置文件。
105+
112106
具体的 MySQL 数据库 `my.cnf` 配置文件内容如下:
113107

114108
```shell
@@ -251,9 +245,9 @@ max_heap_table_size = 64M
251245

252246
### 创建目录和赋予权限
253247

254-
创建 `my.cnf` 配置文件之后,就需要在 `mysql_volumes` 目录下创建 `log` 目录【该目录用于存储 MySQL 容器的日志文件】、`init` 目录【该目录是用于存储 MySQL 容器的初始化脚本文件】。
248+
创建 `my.cnf` 配置文件之后,就需要在 `mysql` 目录下创建 `log` 目录【该目录用于存储 MySQL 容器的日志文件】、`init` 目录【该目录是用于存储 MySQL 容器的初始化脚本文件】。
255249

256-
`mysql_volumes` 目录下创建 `log` 目录、`init` 目录。
250+
`mysql` 目录下创建 `log` 目录、`init` 目录。
257251

258252
```shell
259253
mkdir log init
@@ -263,12 +257,11 @@ mkdir log init
263257

264258
```shell
265259
mysql
266-
└── mysql_volumes
267-
├── conf
268-
│   └── my.cnf
269-
├── data
270-
├── init
271-
└── log
260+
├── config # 配置文件目录
261+
│   └── my.cnf # 配置文件
262+
├── data # 数据目录
263+
├── init # 初始化脚本目录
264+
└── log # 日志目录
272265
```
273266

274267
切换到 my.cnf 配置文件所在的路径【所在的目录】,给 my.cnf 配置文件添加权限。
@@ -290,10 +283,10 @@ chmod -R 777 data log init
290283
```shell
291284
# 这个命令一定是要在 mysql 目录下执行
292285
docker run -p 3306:3306 --name mysql8 \
293-
-v $(pwd)/mysql_volumes/data:/var/lib/mysql \
294-
-v $(pwd)/mysql_volumes/conf:/etc/mysql/conf.d \
295-
-v $(pwd)/mysql_volumes/log:/var/log \
296-
-v $(pwd)/mysql_volumes/init:/docker-entrypoint-initdb.d \
286+
-v $(pwd)/data:/var/lib/mysql \
287+
-v $(pwd)/config:/etc/mysql/conf.d \
288+
-v $(pwd)/log:/var/log \
289+
-v $(pwd)/init:/docker-entrypoint-initdb.d \
297290
-e MYSQL_ROOT_PASSWORD=12345678 \
298291
--restart=unless-stopped \
299292
-d mysql:8.4.1
@@ -308,30 +301,28 @@ docker run -p 3306:3306 --name mysql8 \
308301

309302
```shell
310303
mysql
311-
├── mysql.yaml
312-
└── mysql_volumes
313-
├── conf
314-
│   └── my.cnf
315-
├── data
316-
├── init
317-
└── log
304+
├── config # 配置文件目录
305+
│   └── my.cnf # 配置文件
306+
├── data # 数据目录
307+
├── init # 初始化脚本目录
308+
├── log # 日志目录
309+
└── mysql.yaml # 启动 MySQL 容器的 Docker Compose 配置文件
318310
```
319311

320312
目录结构详细说明:
321313
- `mysql.yaml`:Docker Compose 配置文件,用于启动 MySQL 容器。
322-
- `mysql_volumes`:MySQL 数据卷目录,用于存储 MySQL 容器映射数据。
323-
- `conf`:MySQL 配置文件目录,用于存储 MySQL 配置文件。
314+
- `config`:MySQL 配置文件目录,用于存储 MySQL 配置文件。
324315
- `data`:MySQL 数据目录,用于存储 MySQL 数据。
325316
- `init`:MySQL 初始化脚本目录,用于存储 MySQL 初始化脚本。
326317
- `log`:MySQL 日志目录,用于存储 MySQL 日志。
327318

328319
### 创建目录和赋予权限
329320

330321
```shell
331-
# 创建mysql_volumes并切换到mysql_volumes目录下
332-
mkdir mysql_volumes && cd mysql_volumes
322+
# 创建mysql并切换到mysql目录下
323+
mkdir mysql && cd mysql
333324

334-
#mysql_volumes 目录下创建 conf 目录、data 目录、log 目录、init 目录
325+
#mysql 目录下创建 conf 目录、data 目录、log 目录、init 目录
335326
mkdir conf data log init
336327

337328
# 在 conf 目录下创建 my.cnf 配置文件,然后再使用 vim 来编辑 my.cnf 配置文件
@@ -348,7 +339,7 @@ cd conf && touch my.cnf
348339
chmod 644 my.cnf
349340
```
350341

351-
再给 `mysql_volumes` 目录下的 `data``log``init` 目录添加权限。
342+
再给 `mysql` 目录下的 `data``log``init` 目录添加权限。
352343
```shell
353344
chmod -R 777 data log init
354345
```
@@ -369,10 +360,10 @@ services:
369360
ports:
370361
- 13306:3306
371362
volumes:
372-
- ./mysql_volumes/data:/var/lib/mysql
373-
- ./mysql_volumes/conf:/etc/mysql/conf.d
374-
- ./mysql_volumes/log:/var/log
375-
- ./mysql_volumes/init:/docker-entrypoint-initdb.d
363+
- ./data:/var/lib/mysql
364+
- ./config:/etc/mysql/conf.d
365+
- ./log:/var/log
366+
- ./init:/docker-entrypoint-initdb.d
376367

377368
# container network
378369
networks:

0 commit comments

Comments
 (0)