From 777fdbcc1ad96c3097beb80548b234ae3ad7a9e6 Mon Sep 17 00:00:00 2001 From: fanfpy Date: Tue, 22 Jul 2025 18:21:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(docker):=20=E6=B7=BB=E5=8A=A0=E9=98=BF?= =?UTF-8?q?=E9=87=8C=E4=BA=91=E7=8E=AF=E5=A2=83=E7=9A=84docker-compose?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加用于阿里云环境的docker-compose配置,包含consul、traefik及多个微服务容器的定义 --- docker-compose.aliyun.yml | 129 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 docker-compose.aliyun.yml diff --git a/docker-compose.aliyun.yml b/docker-compose.aliyun.yml new file mode 100644 index 0000000..fddf5eb --- /dev/null +++ b/docker-compose.aliyun.yml @@ -0,0 +1,129 @@ +networks: + microservice-network: + driver: bridge + +services: + consul: + image: consul:1.15 + container_name: ari-consul + restart: always + ports: + - "8500:8500" # Consul Web UI + - "8600:8600/udp" # DNS服务 + volumes: + - ./consul/config/${ENV_CONFIG_DIR}:/consul/config + command: "consul agent -server -bootstrap-expect=1 ${CONSUL_DEV_MODE} -config-dir=/consul/config -client=0.0.0.0" + networks: + - microservice-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8500/v1/status/leader"] + interval: 10s + timeout: 5s + retries: 3 + + traefik: + image: traefik:v2.11 + container_name: ari-traefik + command: + - --configFile=/etc/traefik/traefik.yml + ports: + - "80:80" + - "443:443" + - "8080:8080" # Traefik dashboard + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./traefik/config/${TRAEFIK_CONFIG_DIR}/traefik.yml:/etc/traefik/traefik.yml + - ./traefik/certs:/etc/traefik/certs + networks: + - microservice-network + + data-service: + image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/data-service:latest + container_name: ari-data-service + restart: always + expose: + - "8000" + networks: + - microservice-network + environment: + - SERVICE_NAME=data-service + + quant-service: + image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/quant-service:latest + container_name: ari-quant-service + restart: always + depends_on: + consul: + condition: service_healthy + expose: + - "8001" + networks: + - microservice-network + environment: + - SERVICE_NAME=quant-service + + emotion-service: + image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/emotion-service:latest + container_name: ari-emotion-service + restart: always + depends_on: + consul: + condition: service_healthy + expose: + - "8002" + networks: + - microservice-network + environment: + - SERVICE_NAME=emotion-service + + recommend-service: + image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/recommend-service:latest + container_name: ari-recommend-service + restart: always + depends_on: + consul: + condition: service_healthy + expose: + - "8003" + networks: + - microservice-network + environment: + - SERVICE_NAME=recommend-service + + user-service: + image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/user-service:latest + container_name: ari-user-service + restart: always + depends_on: + consul: + condition: service_healthy + expose: + - "8004" + networks: + - microservice-network + environment: + - SERVICE_NAME=user-service + + frontend: + image: crpi-amr0dt5e5pywqwaf.cn-hangzhou.personal.cr.aliyuncs.com/testrrr/frontend:latest + pull_policy: always + container_name: ari-frontend + restart: always + depends_on: + - data-service + - quant-service + - emotion-service + - recommend-service + - user-service + expose: + - "80" + networks: + - microservice-network + environment: + - SERVICE_NAME=frontend + + whoami: + image: traefik/whoami + container_name: whoami + networks: + - microservice-network