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