|
|
@@ -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
|