第一步 配置网络 创建docker虚拟网络

  1. 创建一个名为clickhouse的桥接(bridge)虚拟网络,网关172.26.0.1,网段为172.25.0.0

(为了让后面nacos 和 mysql 在同一个网络内 如果是多台服务器 可以不用这样部署 )

docker network create -d bridge --subnet=172.26.0.0/16 --gateway=172.26.0.1 clickhouse

编辑docker-compose.yml文件

version: "3.7"
services:
  mysql-nacos:
    container_name: mysql-nacos
    networks:
      clickhouse:
        ipv4_address: 172.26.0.110
    image: mysql:5.7
#    build:
#      context: ./mysql
    ports:
      - "3314:3306"
    volumes:
      - /root/order/mysql4/conf:/etc/mysql/conf.d
      - /root/order/mysql4/logs:/logs
      - /root/order/mysql4/data:/var/lib/mysql
    command: [
      'mysqld',
      '--innodb-buffer-pool-size=80M',
      '--character-set-server=utf8mb4',
      '--collation-server=utf8mb4_unicode_ci',
      '--default-time-zone=+8:00',
      '--lower-case-table-names=1'
    ]
    environment:
      MYSQL_ROOT_PASSWORD: 123456


  nacos1:
    image: nacos/nacos-server:latest
    container_name: nacos1
    networks:
      clickhouse:
        ipv4_address: 172.26.0.130
    volumes:
      - /root/order/nacos1/logs:/home/nacos/logs
    ports:
      - "18848:8848"
      - "19848:9848"
      - "19849:9849"
    environment:
      NACOS_AUTH_ENABLE: 'false'
      NACOS_SERVERS: 172.26.0.130:8848,172.26.0.131:8848,172.26.0.132:8848
      MYSQL_SERVICE_HOST: 172.26.0.110
      MYSQL_SERVICE_DB_NAME: order-nacos-config
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_USER: nacos
      MYSQL_SERVICE_PASSWORD: nacos
    # restart: on-failure
  nacos2:
    image: nacos/nacos-server:latest
    container_name: nacos2
    networks:
      clickhouse:
        ipv4_address: 172.26.0.131
    volumes:
      - /root/order/nacos1/logs:/home/nacos/logs
    ports:
      - "28848:8848"
      - "29848:9848"
      - "29849:9849"
    environment:
      NACOS_AUTH_ENABLE: 'false'
      NACOS_SERVERS: 172.26.0.130:8848,172.26.0.131:8848,172.26.0.132:8848
      MYSQL_SERVICE_HOST: 172.26.0.110
      MYSQL_SERVICE_DB_NAME: order-nacos-config
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: 123456
    # restart: always
  nacos3:
    image: nacos/nacos-server:latest
    container_name: nacos3
    networks:
      clickhouse:
        ipv4_address: 172.26.0.132
    volumes:
      - /root/order/nacos1/logs:/home/nacos/logs
    ports:
      - "38848:8848"
      - "39848:9848"
      - "39849:9849"
    environment:
      NACOS_AUTH_ENABLE: 'false'
      NACOS_SERVERS: 172.26.0.130:8848,172.26.0.131:8848,172.26.0.132:8848
      MYSQL_SERVICE_HOST: 172.26.0.110
      MYSQL_SERVICE_DB_NAME: order-nacos-config
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: 123456
    # restart: always

networks:
  clickhouse:
    external: true

先运行数据库的部署然后在登录mysql

2023-02-14T02:01:44.png

mysql -uroot -proot

创建用户

CREATE USER 'nacos'@'%' identified by 'nacos';

赋予权限

grant all privileges on nacos_devtest.* to 'nacos'@'%' with GRANT OPTION;

刷新权限

flush privileges;

导入nacos数据

order_nacos_config.sql

最后在部署nacos 就行了

配置完登录nacos 就可以看到我们的集群节点了

2023-02-14T02:04:03.png

(遇到的坑:naocs开启权限认证后 项目连不上nacos 这个网上说是nacos的bug 有遇到这个问题解决得小伙伴 可以分享一下)