?1、docker-compose內容
高版本的nacos使用docker啟動,需要將所有的端口放開,僅僅開放8848端口,spring-boot客戶端獲取nacos配置的時候,可能取到的內容為空。
version: '3'# 定義自定義網絡,確保服務間通信和外部訪問 networks:seata-network:driver: bridgeservices:mysql:image: mysql:8.0.33container_name: mysqlports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=root- MYSQL_DATABASE=sample_db- MYSQL_DATABASE=nacos_config # 創建Nacos配置庫volumes:- ./sql:/docker-entrypoint-initdb.dhealthcheck:test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-proot"]interval: 5stimeout: 5sretries: 10networks:- seata-networknacos:image: nacos/nacos-server:v2.5.1container_name: nacosports:- "8848:8848" # Nacos控制臺和API端口- "9848:9848" # Nacos客戶端gRPC端口- "9849:9849" # Nacos客戶端gRPC端口(備用)- "7848:7848" # Nacos配置推送端口(如果需要)environment:- MODE=standalone- MYSQL_SERVICE_HOST=mysql- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_DB_NAME=nacos_config- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=rootvolumes:- ./nacos/init.sql:/docker-entrypoint-initdb.d/init.sql # 初始化Nacos配置healthcheck:test: ["CMD", "curl", "-f", "http://localhost:8848/nacos/actuator/health"]interval: 5stimeout: 50sretries: 20depends_on:mysql:condition: service_healthynetworks:- seata-networkseata-server:image: seataio/seata-server:2.0.0container_name: seata-serverports:- "8091:8091" # Seata TC服務端口volumes:- ./seata/config/registry.conf:/seata-server/resources/registry.conf- ./seata/config/file.conf:/seata-server/resources/file.confenvironment:- SEATA_IP=0.0.0.0 # 允許所有IP訪問- SEATA_PORT=8091- REGISTRY_TYPE=nacos- REGISTRY_NACOS_SERVER_ADDR=nacos:8848- REGISTRY_NACOS_GROUP=SEATA_GROUP- CONFIG_TYPE=nacos- CONFIG_NACOS_SERVER_ADDR=nacos:8848- CONFIG_NACOS_GROUP=SEATA_GROUPhealthcheck:test: ["CMD", "sh", "-c", "ps -ef | grep -v grep | grep seata"]interval: 5stimeout: 50sretries: 10depends_on:nacos:condition: service_healthynetworks:- seata-networksample-service:build: ./sample-servicecontainer_name: sample-serviceports:- "9090:9090"environment:- SEATA_HOST=seata-server- SEATA_PORT=8091- NACOS_SERVER_ADDR=nacos:8848depends_on:seata-server:condition: service_healthynacos:condition: service_healthynetworks:- seata-network