fix(content): harden Docker examples

This commit is contained in:
yeasy
2026-05-23 21:28:59 -07:00
parent 6a55219310
commit 28c23d003e
6 changed files with 42 additions and 19 deletions
+27 -10
View File
@@ -13,7 +13,10 @@ WordPress 是全球最流行的内容管理系统 (CMS)。使用 Docker Compose
```bash
wordpress/
├── compose.yaml
├── .env # 环境变量(敏感信息
├── .env # 非敏感环境变量(如版本、端口
├── secrets/ # 本地密钥文件,生产环境应由密钥管理系统提供
│ ├── db_root_password.txt
│ └── db_password.txt
└── nginx/ # 可选:反向代理配置
└── nginx.conf
```
@@ -38,10 +41,13 @@ services:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_root_password
- db_password
volumes:
- db_data:/var/lib/mysql
networks:
@@ -60,8 +66,10 @@ services:
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password
WORDPRESS_DB_NAME: wordpress
secrets:
- db_password
volumes:
- wp_data:/var/www/html
# 增加上传文件大小限制
@@ -78,20 +86,29 @@ volumes:
networks:
wp_net:
secrets:
db_root_password:
file: ./secrets/db_root_password.txt
db_password:
file: ./secrets/db_password.txt
```
---
### 11.8.3 配置文件详解
#### 1. 环境变量文件 .env
#### 1. 密钥文件
为了安全不要在 `compose.yaml` 中直接写密码创建 `.env` 文件
不要把数据库密码写入 `compose.yaml``.env`命令行或 GitCompose 官方建议敏感值使用 secrets本地练习可用只读密钥文件模拟
```ini
DB_ROOT_PASSWORD=somestrongrootpassword
DB_PASSWORD=somestronguserpassword
```bash
mkdir -p secrets
printf '%s\n' 'somestrongrootpassword' > secrets/db_root_password.txt
printf '%s\n' 'somestronguserpassword' > secrets/db_password.txt
chmod 600 secrets/*.txt
```
Compose 会自动读取此同级目录下的文件
`secrets/` 加入 `.gitignore`生产环境应改用平台密钥管理能力而不是把真实密码放在项目目录
#### 2. 数据持久化