94 lines
2.8 KiB
YAML
94 lines
2.8 KiB
YAML
version: "2"
|
||
services:
|
||
bookmark-mysql:
|
||
image: mysql:8.0.16
|
||
container_name: bookmark-mysql
|
||
ports:
|
||
- 3307:3306
|
||
networks:
|
||
- bookmark
|
||
volumes:
|
||
- ./mysql/data:/var/lib/mysql
|
||
- ./mysql/temp:/var/lib/mysql-files
|
||
- ./mysql/my.cnf:/etc/mysql/my.cnf
|
||
- /etc/localtime:/etc/localtime
|
||
- ./timezone:/etc/timezone
|
||
environment:
|
||
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
|
||
- MYSQL_DATABASE=bookmark
|
||
bookmark-redis:
|
||
image: redis:3.2.10
|
||
container_name: bookmark-redis
|
||
volumes:
|
||
- /etc/localtime:/etc/localtime
|
||
- ./timezone:/etc/timezone
|
||
networks:
|
||
- bookmark
|
||
# redis未设置密码,如端口暴露可能会被攻击
|
||
ports:
|
||
- 6380:6379
|
||
bookmark-es:
|
||
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
|
||
container_name: bookmark-es
|
||
volumes:
|
||
- /etc/localtime:/etc/localtime
|
||
- ./timezone:/etc/timezone
|
||
- ./es/data:/usr/share/elasticsearch/data
|
||
- ./es/ik:/usr/share/elasticsearch/plugins/ik
|
||
- ./es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
|
||
environment:
|
||
- "ES_JAVA_OPTS=-Xms400m -Xmx400m"
|
||
ports:
|
||
- 9200:9200
|
||
- 9300:9300
|
||
networks:
|
||
- bookmark
|
||
bookmark-front:
|
||
image: nginx
|
||
container_name: bookmark-front
|
||
depends_on:
|
||
- bookmark-service
|
||
networks:
|
||
- bookmark
|
||
volumes:
|
||
- /etc/localtime:/etc/localtime
|
||
- ./timezone:/etc/timezone
|
||
- ../front/build:/opt/dist
|
||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
||
- ./nginx/log:/var/log/nginx
|
||
ports:
|
||
- 8083:8080
|
||
bookmark-service:
|
||
image: registry.cn-hangzhou.aliyuncs.com/fleyx/node-java-env:v2
|
||
container_name: bookmark-service
|
||
depends_on:
|
||
- bookmark-mysql
|
||
- bookmark-redis
|
||
- bookmark-es
|
||
networks:
|
||
- bookmark
|
||
volumes:
|
||
- /etc/localtime:/etc/localtime
|
||
- ./timezone:/etc/timezone
|
||
- ../bookMarkService/web/target/bookmark-web-1.0-SNAPSHOT.jar:/opt/app/service.jar
|
||
working_dir: /opt/app
|
||
command:
|
||
- /bin/bash
|
||
- -c
|
||
- |
|
||
sleep 20 && \
|
||
ls -l && \
|
||
java -jar -DisDev=false \
|
||
-DjwtSecret=${JWT_SECRET} \
|
||
-Dmybatis.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl \
|
||
-Dspring.mail.host=${SMTP_HOST} \
|
||
-Dspring.mail.username=${SMTP_USERNAME} \
|
||
-Dspring.mail.password=${SMTP_PASSWORD} \
|
||
-Dspring.datasource.druid.password=${MYSQL_PASSWORD} \
|
||
-Dspring.datasource.druid.url=jdbc:mysql://bookmark-mysql:3306/bookmark?useUnicode=true\&characterEncoding=utf-8\&useSSL=false\&useJDBCCompliantTimezoneShift=true\&useLegacyDatetimeCode=false\&serverTimezone=UTC \
|
||
-Dspring.redis.host=bookmark-redis \
|
||
-Des.host=bookmark-es \
|
||
service.jar
|
||
networks:
|
||
bookmark:
|