下载nacos-docker-2.2.0.zip

nacos-docker-2.2.0\example\cluster-hostname.yaml 修改如下:mysql数据库已经单独部署、初始化sql已经执行

version: "3.8"
services:
nacos1:
  hostname: nacos1
  container_name: nacos1
  image: nacos/nacos-server:${NACOS_VERSION}
  volumes:
    - /volume1/docker/nacos/cluster-logs/nacos1:/home/nacos/logs
  ports:
    - "8848:8848"
    - "9848:9848"
    - "9555:9555"
  env_file:
    - ../env/nacos-hostname.env
  restart: always

nacos2:
  hostname: nacos2
  image: nacos/nacos-server:${NACOS_VERSION}
  container_name: nacos2
  volumes:
    - /volume1/docker/nacos/cluster-logs/nacos2:/home/nacos/logs
  ports:
    - "8849:8848"
    - "9849:9848"
  env_file:
    - ../env/nacos-hostname.env
  restart: always

nacos3:
  hostname: nacos3
  image: nacos/nacos-server:${NACOS_VERSION}
  container_name: nacos3
  volumes:
    - /volume1/docker/nacos/cluster-logs/nacos3:/home/nacos/logs
  ports:
    - "8850:8848"
    - "9850:9848"
  env_file:
    - ../env/nacos-hostname.env
  restart: always

\nacos-docker-2.2.0\env\nacos-hostname.env 修改如下

#nacos dev env
PREFER_HOST_MODE=hostname
SPRING_DATASOURCE_PLATFORM=mysql
NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
MYSQL_SERVICE_HOST=192.168.0.110
MYSQL_SERVICE_DB_NAME=nacos_cluster
MYSQL_SERVICE_PORT=3309
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=123456
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

群晖服务器 cd 到 docker/nacos-docker-2.2.0 目录下

docker-compose -f example/cluster-hostname.yaml up -d