From ae3582c7fb0cee1e2d73cd18e87d5e5ec33c2356 Mon Sep 17 00:00:00 2001 From: dhb52 Date: Thu, 29 May 2025 23:51:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=20docker-compose.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 添加name: ruoyi-vue-plus, 去除 container_name 写死, 让容器自动命名为: ruoyi-vue-plus-xxxx-1; 2. volume宿主机地址修改相对路径,使用时可以不强制要求部署在/docker目录,同时也可以作为本地开发环境的快速部署; 3. 去除不必要的network_mode: "host",涉及到mysql,minio,redis,因为这些容器均不访问其他服务; 4. 添加restart: unless-stopped; 5. 添加.gitignore,当本地开发时,忽略生成的文件 --- script/docker/.gitignore | 10 ++++++ script/docker/docker-compose.yml | 57 ++++++++++++++++---------------- 2 files changed, 38 insertions(+), 29 deletions(-) create mode 100644 script/docker/.gitignore diff --git a/script/docker/.gitignore b/script/docker/.gitignore new file mode 100644 index 000000000..70383cfd3 --- /dev/null +++ b/script/docker/.gitignore @@ -0,0 +1,10 @@ +mysql/ +redis/ +nginx/cert/ +nginx/html/ +nginx/log/ +minio/ +server1/ +server2/ +monitor/ +snailjob/ diff --git a/script/docker/docker-compose.yml b/script/docker/docker-compose.yml index 20529dd6c..c00dbb722 100644 --- a/script/docker/docker-compose.yml +++ b/script/docker/docker-compose.yml @@ -1,7 +1,9 @@ +name: ruoyi-vue-plus + services: mysql: image: mysql:8.0.42 - container_name: mysql + restart: unless-stopped environment: # 时区上海 TZ: Asia/Shanghai @@ -13,9 +15,9 @@ services: - "3306:3306" volumes: # 数据挂载 - - /docker/mysql/data/:/var/lib/mysql/ + - ./mysql/data/:/var/lib/mysql/ # 配置挂载 - - /docker/mysql/conf/:/etc/mysql/conf.d/ + - ./mysql/conf/:/etc/mysql/conf.d/ command: # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配) --default-authentication-plugin=mysql_native_password @@ -24,32 +26,31 @@ services: --explicit_defaults_for_timestamp=true --lower_case_table_names=1 privileged: true - network_mode: "host" nginx-web: image: nginx:1.23.4 - container_name: nginx-web + restart: unless-stopped environment: # 时区上海 TZ: Asia/Shanghai ports: - - "80:80" - - "443:443" + - "80:80" + - "443:443" volumes: # 证书映射 - - /docker/nginx/cert:/etc/nginx/cert + - ./nginx/cert:/etc/nginx/cert # 配置文件映射 - - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf + - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf # 页面目录 - - /docker/nginx/html:/usr/share/nginx/html + - ./nginx/html:/usr/share/nginx/html # 日志目录 - - /docker/nginx/log:/var/log/nginx + - ./nginx/log:/var/log/nginx privileged: true network_mode: "host" redis: image: redis:7.2.8 - container_name: redis + restart: unless-stopped ports: - "6379:6379" environment: @@ -57,17 +58,16 @@ services: TZ: Asia/Shanghai volumes: # 配置文件 - - /docker/redis/conf:/redis/config:rw + - ./redis/conf:/redis/config:rw # 数据文件 - - /docker/redis/data/:/redis/data/:rw + - ./redis/data/:/redis/data/:rw command: "redis-server /redis/config/redis.conf" privileged: true - network_mode: "host" minio: # minio 最后一个未阉割版本 不能再进行升级 在往上的版本功能被阉割 image: minio/minio:RELEASE.2025-04-22T22-12-26Z - container_name: minio + restart: unless-stopped ports: # api 端口 - "9000:9000" @@ -91,16 +91,15 @@ services: MINIO_COMPRESS_MIME_TYPES: "" volumes: # 映射当前目录下的data目录至容器内/data目录 - - /docker/minio/data:/data + - ./minio/data:/data # 映射配置目录 - - /docker/minio/config:/root/.minio/ + - ./minio/config:/root/.minio/ command: server --address ':9000' --console-address ':9001' /data # 指定容器中的目录 /data privileged: true - network_mode: "host" ruoyi-server1: image: ruoyi/ruoyi-server:5.4.0 - container_name: ruoyi-server1 + restart: unless-stopped environment: # 时区上海 TZ: Asia/Shanghai @@ -108,15 +107,15 @@ services: SNAIL_PORT: 28080 volumes: # 配置文件 - - /docker/server1/logs/:/ruoyi/server/logs/ + - ./server1/logs/:/ruoyi/server/logs/ # skywalking 探针 -# - /docker/skywalking/agent/:/ruoyi/skywalking/agent +# - ./skywalking/agent/:/ruoyi/skywalking/agent privileged: true network_mode: "host" ruoyi-server2: image: ruoyi/ruoyi-server:5.4.0 - container_name: ruoyi-server2 + restart: unless-stopped environment: # 时区上海 TZ: Asia/Shanghai @@ -124,27 +123,27 @@ services: SNAIL_PORT: 28081 volumes: # 配置文件 - - /docker/server2/logs/:/ruoyi/server/logs/ + - ./server2/logs/:/ruoyi/server/logs/ # skywalking 探针 -# - /docker/skywalking/agent/:/ruoyi/skywalking/agent +# - ./skywalking/agent/:/ruoyi/skywalking/agent privileged: true network_mode: "host" ruoyi-monitor-admin: image: ruoyi/ruoyi-monitor-admin:5.4.0 - container_name: ruoyi-monitor-admin + restart: unless-stopped environment: # 时区上海 TZ: Asia/Shanghai volumes: # 配置文件 - - /docker/monitor/logs/:/ruoyi/monitor/logs + - ./monitor/logs/:/ruoyi/monitor/logs privileged: true network_mode: "host" ruoyi-snailjob-server: image: ruoyi/ruoyi-snailjob-server:5.4.0 - container_name: ruoyi-snailjob-server + restart: unless-stopped environment: # 时区上海 TZ: Asia/Shanghai @@ -152,6 +151,6 @@ services: - "8800:8800" - "17888:17888" volumes: - - /docker/snailjob/logs/:/ruoyi/snailjob/logs + - ./snailjob/logs/:/ruoyi/snailjob/logs privileged: true network_mode: "host"