tianyuan-api-server/docker-compose.yml
2024-10-21 23:35:52 +08:00

227 lines
4.6 KiB
YAML

version: '3'
services:
tyapi_etcd:
image: bitnami/etcd
container_name: tyapi_etcd
environment:
- TZ=Asia/Shanghai
- ALLOW_NONE_AUTHENTICATION=yes
- ETCD_ADVERTISE_CLIENT_URLS=http://tyapi_etcd:2379
- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
networks:
- tyapi_network
restart: always
tyapi_etcdManage:
image: evildecay/etcdkeeper
container_name: tyapi_etcdManage
environment:
- TZ=Asia/Shanghai
depends_on:
- tyapi_etcd
networks:
- tyapi_network
restart: always
tyapi_zookeeper:
image: wurstmeister/zookeeper
container_name: tyapi_zookeeper
environment:
- TZ=Asia/Shanghai
volumes:
- zookeeper_data:/data
- zookeeper_datalog:/datalog
networks:
- tyapi_network
restart: always
tyapi_kafka:
image: wurstmeister/kafka
container_name: tyapi_kafka
environment:
TZ: Asia/Shanghai
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://tyapi_kafka:9092
KAFKA_ZOOKEEPER_CONNECT: tyapi_zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- kafka_data:/kafka/logs # 持久化Kafka的日志
ports:
- "9092:9092"
networks:
- tyapi_network
restart: always
tyapi_redis:
image: redis:7.4.0
container_name: tyapi_redis
environment:
- TZ=Asia/Shanghai
ports:
- "11002:6379"
networks:
- tyapi_network
restart: always
tyapi_mysql:
image: mysql:8.0.34
container_name: tyapi_mysql
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=tianyuanapi
- MYSQL_USER=tianyuanapi
- MYSQL_PASSWORD=g3h98u0291j
ports:
- "11001:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- tyapi_network
- 1panel-network
restart: always
tyapi_gateway:
container_name: tyapi_gateway
build:
context: .
dockerfile: ./apps/gateway/Dockerfile
ports:
- "10001:10001"
environment:
- TZ=Asia/Shanghai
- ENV=production
depends_on:
- tyapi_etcd
- tyapi_redis
- tyapi_mysql
- tyapi_user
- tyapi_sentinel
networks:
- tyapi_network
restart: always
tyapi_admin:
container_name: tyapi_admin
build:
context: .
dockerfile: ./apps/admin/Dockerfile
ports:
- "10002:10002"
environment:
- TZ=Asia/Shanghai
- ENV=production
depends_on:
- tyapi_etcd
- tyapi_redis
- tyapi_mysql
- tyapi_user
- tyapi_sentinel
networks:
- tyapi_network
restart: always
tyapi_api:
container_name: tyapi_api
build:
context: .
dockerfile: ./apps/api/Dockerfile
ports:
- "10003:10003"
environment:
- TZ=Asia/Shanghai
- ENV=production
depends_on:
- tyapi_etcd
- tyapi_redis
- tyapi_mysql
- tyapi_user
- tyapi_sentinel
- tyapi_mqs
- tyapi_kafka
networks:
- tyapi_network
restart: always
tyapi_index:
container_name: tyapi_index
build:
context: .
dockerfile: ./apps/index/Dockerfile
ports:
- "10004:10004"
environment:
- TZ=Asia/Shanghai
- ENV=production
depends_on:
- tyapi_etcd
- tyapi_sentinel
networks:
- tyapi_network
restart: always
tyapi_mqs:
container_name: tyapi_mqs
build:
context: .
dockerfile: ./apps/mqs/Dockerfile
environment:
- TZ=Asia/Shanghai
- ENV=production
depends_on:
- tyapi_kafka
- tyapi_etcd
- tyapi_redis
- tyapi_user
- tyapi_sentinel
networks:
- tyapi_network
restart: always
tyapi_sentinel:
container_name: tyapi_sentinel
build:
context: .
dockerfile: ./apps/sentinel/Dockerfile
environment:
- TZ=Asia/Shanghai
- ENV=production
depends_on:
- tyapi_redis
- tyapi_mysql
- tyapi_etcd
networks:
- tyapi_network
restart: always
tyapi_user:
container_name: tyapi_user
build:
context: .
dockerfile: ./apps/user/Dockerfile
environment:
- TZ=Asia/Shanghai
- ENV=production
depends_on:
- tyapi_mysql
- tyapi_redis
- tyapi_etcd
networks:
- tyapi_network
restart: always
volumes:
mysql_data:
driver: local
zookeeper_data:
driver: local
zookeeper_datalog:
driver: local
kafka_data:
driver: local
networks:
tyapi_network:
driver: bridge
1panel-network:
external: true