novel-cloud/doc/docker/docker-compose.yml
2023-03-31 19:50:09 +08:00

132 lines
3.6 KiB
YAML

version: '3.9'
services:
novel-mysql:
container_name: novel-mysql
image: mysql:8.0
restart: always
hostname: novel-mysql
environment:
- MYSQL_ROOT_PASSWORD=test123456
volumes:
- "/data/docker/mysql/data:/var/lib/mysql"
- "/data/docker/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql"
command: mysqld --max_allowed_packet=100M
ports:
- 3306:3306
networks:
- novelnet
novel-redis:
container_name: novel-redis
image: redis:7.0
restart: always
hostname: novel-redis
command: redis-server --save 60 1 --loglevel warning
ports:
- 6379:6379
networks:
- novelnet
novel-rabbitmq:
container_name: novel-rabbitmq
image: rabbitmq:3-management
restart: always
hostname: novel-rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=xxyopen
- RABBITMQ_DEFAULT_PASS=test123456
- RABBITMQ_DEFAULT_VHOST=novel
ports:
- 15672:15672
- 5672:5672
networks:
- novelnet
novel-elasticsearch:
container_name: novel-elasticsearch
image: elasticsearch:8.6.2
restart: always
hostname: novel-elasticsearch
environment:
# 内存不够用的话最好不要配置这个
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
# 挂载本地目录时需要修改该目录的读写权限才能正常启动
# volumes:
# - /data/docker/elasticsearch/data:/usr/share/elasticsearch/data
# - /data/docker/elasticsearch/logs:/usr/share/elasticsearch/logs
ports:
- 9200:9200
- 9300:9300
networks:
- novelnet
novel-kibana:
container_name: novel-kibana
image: kibana:8.6.2
restart: always
hostname: novel-kibana
environment:
ELASTICSEARCH_HOSTS: '["https://novel-elasticsearch:9200"]'
volumes:
- /data/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- 5601:5601
depends_on:
- novel-elasticsearch
networks:
- novelnet
novel-xxl-job-admin:
container_name: novel-xxl-job-admin
image: xuxueli/xxl-job-admin:2.3.1
restart: always
hostname: novel-xxl-job-admin
environment:
- PARAMS=--spring.datasource.url=jdbc:mysql://novel-mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=test123456 --xxl.job.accessToken=123
- JAVA_OPTS=-Xmx512m
volumes:
- /data/docker/xxl-job-admin/data/applogs:/data/applogs
ports:
- 8080:8080
depends_on:
- novel-mysql
networks:
- novelnet
novel-nacos-server:
container_name: novel-nacos-server
image: nacos/nacos-server:v2.2.1
restart: always
hostname: novel-nacos-server
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=novel-mysql
- MYSQL_SERVICE_DB_NAME=nacos
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=test123456
- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
- NACOS_AUTH_IDENTITY_KEY=xxyopen
- NACOS_AUTH_IDENTITY_VALUE=xxyopen
- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
- JVM_XMS=125M
- JVM_XMX=125M
- JVM_XMN=50M
- JVM_MS=50M
- JVM_MMS=50M
ports:
- "8848:8848"
- "9848:9848"
depends_on:
- novel-mysql
networks:
- novelnet
networks:
novelnet:
driver: bridge