docker部署nacos集群

myslq新建库,导入初始化语句

https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql

默认用户名密码 nacos/nacos

拉取镜像

docker pull nacos/nacos-server

nacos-config.yaml

version: "2"
services:
  nacos:
    hostname: hbj-nacos
    image: nacos/nacos-server:latest
    container_name: nacos
    environment:
      - MODE=cluster # 集群模式
      - NACOS_SERVERS=IP1:PORT1,IP2:PORT2 # IP1,IP2是对应的服务器外网,PORT1,PORT2是对应的nacos服务端口
      - PREFER_HOST_MODE=hostname
      - NACOS_SERVER_IP=IP1 # 服务器外网
      - NACOS_APPLICATION_PORT=8680
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_MASTER_SERVICE_HOST=MYSQLIP # mysql数据库对应的ip
      - MYSQL_MASTER_SERVICE_PORT=3306    # mysql数据库对应的端口
      - MYSQL_MASTER_SERVICE_DB_NAME=nacos 
      - MYSQL_MASTER_SERVICE_USER=root
      - MYSQL_MASTER_SERVICE_PASSWORD=password
      - MYSQL_DATABASE_NUM=1 # 数据源为1个
    volumes:
      - /home/nacos-docker/logs:/home/nacos/logs # 日志的挂在
    ports:
      - "PORT1:PORT1"
      - "7680:7680"
      - "9680:9680"
      - "9681:9681"
    restart: on-failure

7680是raftPort指定的端口
9680是主端口号+1000
9681是主端口号+1001
刚开始没有开放另外三个端口,获取服务列表报错,查看了github的讨论说法是用于集群节点通信。
FD2BDCEE-9B93-40B6-BEE3-70D3E1B0C988.png

官方文档端口说明:
C249B781-11F5-4E16-8184-568303E657B1.png

启动容器

docker-compose -f example/nacos-config.yaml up -d

如果docker-compose没有权限执行命令
chmod +x /usr/local/bin/docker-compose

查看启动日志

docker ps
docker logs 11518056f20f
6D90EBD9-3B6D-4BE6-832A-B886C50E8F31.png

在另外一台机器同样部署服务

拷贝目录nacos-docker
修改example/nacos-config.yaml文件配置,NACOS_SERVER_IP=IP1改为IP2,以相同方式启动

访问网站

http://IP1:PORT1/nacos
nacos/nacos
101F0E2D-EB6E-481B-920D-15A8365B27DE.png

查看集群接口是否正常
http://IP1:port1/nacos/v1/ns/instance/list?serviceName=iflydocs-sdk-fs

发表新评论