Parcourir la source

更新 'docker-compose.yaml'

zhensolid il y a 1 an
Parent
commit
e100364fe9
1 fichiers modifiés avec 20 ajouts et 21 suppressions
  1. 20 21
      docker-compose.yaml

+ 20 - 21
docker-compose.yaml

@@ -4,19 +4,13 @@ services:
     image: mysql:5.7
     container_name: mysql
     environment:
-      # root 密码
       MYSQL_ROOT_PASSWORD: 123456789
-      # 初始化数据库(后续的初始化sql会在这个库执行)
       MYSQL_DATABASE: 'campus_imaotai'
       TZ: Asia/Shanghai
     volumes:
-      # 数据挂载
       - ./mysql/data/:/var/lib/mysql/
-      # 配置挂载
       - ./mysql/conf/:/etc/mysql/conf.d/
-      # 日志
       - ./mysql/logs:/logs
-      # 直接导入数据库
       - ./mysql/campus_imaotai.sql:/docker-entrypoint-initdb.d/campus_imaotai.sql
     command: [
       'mysqld',
@@ -26,7 +20,6 @@ services:
       '--default-time-zone=+8:00',
       '--lower-case-table-names=1'
     ]
-    #为了不影响宿主机使用mysql端口,所以使用campus-net网络,只允许内部网络访问
     networks:
       - campus-net
 
@@ -34,15 +27,11 @@ services:
     image: redis:6.2.12
     container_name: redis
     environment:
-      # 时区上海
       TZ: Asia/Shanghai
     volumes:
-      # 配置文件
       - ./redis/conf:/redis/config
-      # 数据文件
       - ./redis/data/:/redis/data/
     command: "redis-server /redis/config/redis.conf"
-    #为了不影响宿主机使用redis端口,所以使用campus-net网络,只允许内部网络访问
     networks:
       - campus-net
 
@@ -50,20 +39,17 @@ services:
     image: nginx:1.23.4
     container_name: nginx-web
     environment:
-      # 时区上海
       TZ: Asia/Shanghai
-    #为了不影响宿主机使用nginx端口,所以启用端口映射
     ports:
       - "880:80"
     volumes:
-      # 页面目录
       - ./nginx/html:/usr/share/nginx/html
       - ./nginx/cert:/etc/nginx/cert
       - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
       - ./nginx/log:/var/log/nginx
     networks:
-      - campus-net # 连接内部网络访问后端
-      - imaotai    # 容器内也可以访问外部网络
+      - campus-net
+      - imaotai
 
   campus-server:
     image: oddfar/campus-imaotai
@@ -72,20 +58,33 @@ services:
       TZ: Asia/Shanghai
       SERVER_PORT: 8160
       spring.config.additional-location: /home/campus/conf/application-prod.yml
-    #为了不影响宿主机使用campus-server端口,所以启用端口映射
     ports:
-     - "8160:8160"
+      - "8160:8160"
     volumes:
       - ./server/conf:/home/campus/conf
     depends_on:
       - mysql
       - redis
     networks:
-      - campus-net # 连接内部网络访问后端
-      - imaotai    # 容器内也可以访问外部网络
+      - campus-net
+      - imaotai
+    entrypoint: /bin/sh -c "
+      apt-get update && apt-get install -y iproute2;  # 安装 iproute2
+      ip route del default; 
+      ip route add 172.22.0.0/16 via 172.22.0.1; 
+      ip route add default via 172.20.0.1;
+      /start-your-app-command
+    "
+
 
 networks:
   campus-net:
     driver: bridge
+    ipam:
+      config:
+        - subnet: 172.22.0.0/16
+          gateway: 172.22.0.1
+    #固定临时创建的网络范围和网关
   imaotai:
-    external: true    # 确保已创建的外部网络
+    external: true
+    # If this is an external network that you've already created, no further IPAM config needed