操作日志

This commit is contained in:
2026-09-22 10:01:40 +08:00
parent 6c944c4ffd
commit 414529265c
29 changed files with 70 additions and 17960 deletions
+11 -11
View File
@@ -11,13 +11,13 @@
1. 创建 MySQL 数据卷:
```powershell
docker volume create changzhou_mysql_data
docker volume create henan_mysql_data
```
2. 启动容器(⚠️ 必须先 cd 到 compose 目录,且必须带两个 -f 参数):
```powershell
cd d:\changzhou_app\changzhou_backend\docker\compose
cd D:\henan_background\henan-backend\docker\compose
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d
```
@@ -30,9 +30,9 @@ docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d
```powershell
docker ps
# 三个容器都应为 Up 状态:mysql_db / redis_cache / rabbitmq_server
# 三个容器都应为 Up 状态:henan_mysql_db / henan_redis_cache / henan_rabbitmq_server
docker exec redis_cache redis-cli ping
docker exec henan_redis_cache redis-cli ping
# 返回 NOAUTH Authentication required. 是正常的(Redis 已启动且带密码)
```
@@ -40,7 +40,7 @@ docker exec redis_cache redis-cli ping
| 服务 | 本机地址 | 容器端口 | 账号信息 |
|------|---------|---------|---------|
| MySQL | 127.0.0.1:23306 | 3306 | root/123456,业务库 changzhou |
| MySQL | 127.0.0.1:23306 | 3306 | root/123456,业务库 henan |
| Redis | 127.0.0.1:26379 | 6379 | 密码见 redis.dev.conf |
| RabbitMQ | 127.0.0.1:25672 | 5672 | skins/mk,vhost /skins |
| RabbitMQ 管理台 | http://127.0.0.1:35672 | 15672 | skins/mk |
@@ -49,7 +49,7 @@ docker exec redis_cache redis-cli ping
```powershell
# 都在 docker\compose 目录下执行
cd d:\changzhou_app\changzhou_backend\docker\compose
cd D:\henan_background\henan-backend\docker\compose
# 启动
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d
@@ -61,7 +61,7 @@ docker-compose -f docker-compose.yml -f docker-compose.dev.yml stop
docker ps
# 查看某个容器日志
docker logs redis_cache --tail 50
docker logs henan_redis_cache --tail 50
# 重建某个容器(比如改了配置)
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d --force-recreate redis
@@ -74,20 +74,20 @@ docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d --force-rec
启动命令少了 `-f docker-compose.dev.yml`,重建即可:
```powershell
cd d:\changzhou_app\changzhou_backend\docker\compose
cd D:\henan_background\henan-backend\docker\compose
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d --force-recreate redis
```
### 2. 提示 `external volume "changzhou_mysql_data" not found`
### 2. 提示 `external volume "henan_mysql_data" not found`
```powershell
docker volume create changzhou_mysql_data
docker volume create henan_mysql_data
```
### 3. 提示 `cannot find the file specified`
没有 cd 到 `docker\compose` 目录就执行了命令,`-f` 的相对路径按当前目录解析。
### 4. 和 chengdu 项目切换
### 4. 和 hunan 项目切换
端口可能冲突,先到另一个项目的 compose 目录执行 `docker-compose stop`,再启动本项目。
+1 -1
View File
@@ -2,7 +2,7 @@
set -e
# 自动创建 external 数据卷(首次部署时)
for vol in changzhou_mysql_data; do
for vol in henan_mysql_data; do
docker volume inspect "$vol" >/dev/null 2>&1 || docker volume create "$vol" >/dev/null
done
+10 -10
View File
@@ -7,13 +7,13 @@ services:
args:
MYSQL_BASE_IMAGE: mysql:8.0.24
MYSQL_CONF: my.cnf.16c32g
container_name: mysql_db
container_name: henan_mysql_db
restart: unless-stopped
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: changzhou
MYSQL_USER: changzhou
MYSQL_DATABASE: henan
MYSQL_USER: henan
MYSQL_PASSWORD: iTSJSPPZM3LSGAPC
ports:
- "127.0.0.1:23306:3306"
@@ -31,12 +31,12 @@ services:
retries: 5
start_period: 30s
networks:
- changzhou_app_network
- henan_app_network
# Redis 服务
redis:
image: redis:latest
container_name: redis_cache
container_name: henan_redis_cache
restart: unless-stopped
command: redis-server /usr/local/etc/redis/redis.conf
ports:
@@ -47,12 +47,12 @@ services:
max-size: "50m"
max-file: "3"
networks:
- changzhou_app_network
- henan_app_network
# RabbitMQ 3.9 服务
rabbitmq:
image: rabbitmq:3.9-management
container_name: rabbitmq_server
container_name: henan_rabbitmq_server
restart: unless-stopped
environment:
RABBITMQ_DEFAULT_USER: skins
@@ -75,15 +75,15 @@ services:
max-size: "50m"
max-file: "3"
networks:
- changzhou_app_network
- henan_app_network
# 定义数据卷(external 固定卷名,不随目录变化,防止换目录丢数据)
volumes:
mysql_data:
external: true
name: changzhou_mysql_data
name: henan_mysql_data
# 定义网络
networks:
changzhou_app_network:
henan_app_network:
driver: bridge
+6 -6
View File
@@ -1,19 +1,19 @@
#!/bin/bash
# MySQL 数据卷迁移脚本
# 将旧自动命名卷的数据复制到 external 卷 changzhou_mysql_data
# 将旧自动命名卷的数据复制到 external 卷 henan_mysql_data
# 用法:bash migrate-mysql-volume.sh [旧卷名]
# 不传参数时自动检测 docker_changzhou_mysql_data 和 docker-cn_changzhou_mysql_data
# 不传参数时自动检测 docker_henan_mysql_data 和 docker-cn_henan_mysql_data
set -e
NEW_VOL="changzhou_mysql_data"
NEW_VOL="henan_mysql_data"
IMAGE="mysql:8.0.24"
# 自动检测旧卷名
if [ -n "$1" ]; then
OLD_VOL="$1"
else
for candidate in docker_changzhou_mysql_data docker-cn_changzhou_mysql_data; do
for candidate in docker_henan_mysql_data docker-cn_henan_mysql_data; do
if docker volume inspect "$candidate" >/dev/null 2>&1; then
OLD_VOL="$candidate"
break
@@ -39,9 +39,9 @@ OLD_SIZE=$(docker run --rm -v "${OLD_VOL}:/data" "$IMAGE" sh -c "du -sh /data" 2
echo "旧卷 $OLD_VOL 数据量: $OLD_SIZE"
# 停掉 MySQL 容器(如果在运行)
if docker inspect mysql_db >/dev/null 2>&1; then
if docker inspect henan_mysql_db >/dev/null 2>&1; then
echo "停止 MySQL 容器..."
docker stop mysql_db 2>/dev/null || true
docker stop henan_mysql_db 2>/dev/null || true
fi
# 清空新卷(避免数据叠加)