使用docker搭建高可用Nacos注册中心

写在前面

关于nacos1.x和nacos2.x的区别以及使用方式,参考下面一篇链接
Nacos2.0兼容性及使用

使用docker

Nacos1.x

单机方式搭建

进入docker hub,查找镜像

NaocsImage
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

按照说明启动
docker run --name nacos -p 8848:8848 -e JVM_XMS="512m" -e -JVM_XMX="512m" -e 		  JVM_MS="168m" -e JVM_MMS="168m" -e JVM_XMN="288m" -e MODE=standalone -d 	lhstack/nacos:1.4.4

在这里插入图片描述
在这里插入图片描述

通过浏览器访问

在这里插入图片描述

添加配置并使用客户端测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.12.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>nacos-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>nacos-demo</name>
    <description>nacos-demo</description>
    <properties>
        <java.version>11</java.version>
        <spring.cloud.alibaba.version>2.2.6.RELEASE</spring.cloud.alibaba.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

bootstrap.yml

spring:
  application:
    name: demo
  profiles:
    active: test
  cloud:
    nacos:
      server-addr: 192.168.101.170:8848
      config:
        file-extension: yml

在这里插入图片描述
在这里插入图片描述

集群方式搭建

这里使用脚本方式搭建,方便维护

搭建nacos需要的数据库环境
  • 生成sql以及使用docker启动的数据库脚本
    相关sql脚本,去官网下载,这里搭建1.4.4版本的nacos,对应sql也是1.4.4的
    Nacos1.4.4-sql
    注意,这里需要在sql内容之前添加创建数据库的sql语句,方便在mysql启动时自动加载sql创建对应表

    ## 在sql文件最前面添加以下两行即可
    CREATE DATABASE `nacos` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    USE `nacos`;
    
    ## 创建nacos目录和sql目录
    mkdir -p nacos/sql && cd nacos/sql
    ## 下载sql脚本
    wget https://gitee.com/mirrors/Nacos/raw/1.4.4/distribution/conf/nacos-mysql.sql
    ## 在最前面添加数据库创建的sql
    sed -i "1iCREATE DATABASE nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" nacos-mysql.sql
    sed -i "2iUSE nacos;" nacos-mysql.sql
    cd ..
    # 生成docker启动脚本
    cat > nacos-mysql.sh <<EOF
    #/bin/bash
    docker rm -f mysql
    docker network rm nacos
    docker network create --driver=bridge --ipam-driver=default --subnet=10.42.0.0/16 nacos
    docker run --name mysql --restart=always --network=nacos --hostname=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD="123456" -v \${PWD}/sql:/docker-entrypoint-initdb.d/ -v \${PWD}/data:/var/lib/mysql -d mysql:8.0.28
    EOF
    

    在这里插入图片描述

  • 执行启动docker-mysql的sh脚本

    sh nacos-mysql.sh
    

    在这里插入图片描述

  • 通过navicat等数据库客户端工具连接查看
    在这里插入图片描述

编写nacos集群的docker脚本并启动
  • 通过nacos镜像地址的说明,可以发现,搭建集群需要几个参数,分别是

    NACOS_SERVERS: nacos集群地址
    MYSQL_SERVICE_HOST: 数据库host
    MYSQL_SERVICE_USER: 数据库用户名
    MYSQL_SERVICE_PASSWORD: 数据库密码
    MYSQL_SERVICE_DB_NAME: 数据库名称
    SPRING_DATASOURCE_PLATFORM: 数据库类型,这里是mysql
    MYSQL_SERVICE_DB_PARAM: 数据库连接扩展参数
    
  • 编写脚本

    cat > nacos-cluster.env <<EOF
    NACOS_SERVERS=10.42.0.10 10.42.0.11
    TZ=Asia/Shanghai
    MYSQL_SERVICE_HOST=mysql
    MYSQL_SERVICE_USER=root
    MYSQL_SERVICE_PASSWORD=123456
    MYSQL_SERVICE_DB_NAME=nacos
    MYSQL_SERVICE_DB_PARAM=allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=UTC&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false
    SPRING_DATASOURCE_PLATFORM=mysql
    JVM_XMX=384m
    JVM_XMS=384m
    JVM_XMN=192m
    JVM_MS=128m
    JVM_MMS=128m
    EOF
    cat > nacos-cluster.sh <<EOF
    #/bin/bash
    docker rm -f nacos nacos1
    docker run --name nacos --restart=always --ip=10.42.0.10 --network=nacos --hostname=nacos -p 8848:8848 --env-file=\${PWD}/nacos-cluster.env -d lhstack/nacos:1.4.4
    docker run --name nacos1 --restart=always --ip=10.42.0.11 --network=nacos --hostname=nacos -p 8849:8848 --env-file=\${PWD}/nacos-cluster.env -d lhstack/nacos:1.4.4 
    EOF
    
  • 执行脚本,启动nacos集群

    sh nacos-cluster.sh
    

    在这里插入图片描述
    在这里插入图片描述

  • 浏览器访问并添加配置
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 使用客户端测试
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Nacos2.x

nacos2.x使用的grpc,采用ip偏移量的方式,比如http暴露的端口是8848,grpc暴露的端口对应就是9848

单机方式搭建

按照说明启动
# 关闭之前的nacos容器,如果没有启动,则可以不管
docker rm -f nacos
docker run --name nacos -p 8848:8848 -p 9848:9848 -e JVM_XMS="512m" -e -JVM_XMX="512m" -e 		  JVM_MS="168m" -e JVM_MMS="168m" -e JVM_XMN="288m" -e MODE=standalone -d 	lhstack/nacos:2.1.1

在这里插入图片描述

通过浏览器访问,并添加配置
  • 浏览器访问,并添加配置
    在这里插入图片描述
    在这里插入图片描述
客户端使用
  • 版本依赖
    这里由于服务端是2.x的版本,因此客户端依赖的版本从2.2.6.RELEASE修改为2.2.7.RELEASE
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.12.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>nacos-demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>nacos-demo</name>
        <description>nacos-demo</description>
        <properties>
            <java.version>11</java.version>
            <spring.cloud.alibaba.version>2.2.7.RELEASE</spring.cloud.alibaba.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.alibaba.cloud</groupId>
                    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                    <version>${spring.cloud.alibaba.version}</version>
                    <scope>import</scope>
                    <type>pom</type>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
  • 配置
    在这里插入图片描述
  • 启动验证
    在这里插入图片描述
    在这里插入图片描述

集群方式搭建

搭建nacos需要的数据库环境
  • 生成sql以及使用docker启动的数据库脚本
    相关sql脚本,去官网下载,这里搭建2.1.1版本的nacos,对应sql也是2.1.1的
    Nacos2.1.1-sql
    注意,这里需要在sql内容之前添加创建数据库的sql语句,方便在mysql启动时自动加载sql创建对应表

    ## 在sql文件最前面添加以下两行即可
    CREATE DATABASE `nacos` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    USE `nacos`;
    
    ## 创建nacos目录和sql目录
    mkdir -p nacos/sql && cd nacos/sql
    ## 下载sql脚本
    wget https://gitee.com/mirrors/Nacos/raw/2.1.1/distribution/conf/nacos-mysql.sql
    ## 在最前面添加数据库创建的sql
    sed -i "1iCREATE DATABASE nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" nacos-mysql.sql
    sed -i "2iUSE nacos;" nacos-mysql.sql
    cd ..
    # 生成docker启动脚本
    cat > nacos-mysql.sh <<EOF
    #/bin/bash
    docker rm -f mysql
    docker network rm nacos
    docker network create --driver=bridge --ipam-driver=default --subnet=10.42.0.0/16 nacos
    docker run --name mysql --restart=always --network=nacos --hostname=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD="123456" -v \${PWD}/sql:/docker-entrypoint-initdb.d/ -v \${PWD}/data:/var/lib/mysql -d mysql:8.0.28
    EOF
    

    在这里插入图片描述

  • 执行启动docker-mysql的sh脚本

    sh nacos-mysql.sh
    

    在这里插入图片描述

  • 通过navicat等数据库客户端工具连接查看
    在这里插入图片描述

编写nacos集群的docker脚本并启动
  • 通过nacos镜像地址的说明,可以发现,搭建集群需要几个参数,分别是
    NACOS_SERVERS: nacos集群地址
    MYSQL_SERVICE_HOST: 数据库host
    MYSQL_SERVICE_USER: 数据库用户名
    MYSQL_SERVICE_PASSWORD: 数据库密码
    MYSQL_SERVICE_DB_NAME: 数据库名称
    SPRING_DATASOURCE_PLATFORM: 数据库类型,这里是mysql
    MYSQL_SERVICE_DB_PARAM: 数据库连接扩展参数
    
  • 编写脚本
    cat > nacos-cluster.env <<EOF
    NACOS_SERVERS=10.42.0.10 10.42.0.11
    TZ=Asia/Shanghai
    MYSQL_SERVICE_HOST=mysql
    MYSQL_SERVICE_USER=root
    MYSQL_SERVICE_PASSWORD=123456
    MYSQL_SERVICE_DB_NAME=nacos
    MYSQL_SERVICE_DB_PARAM=allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=UTC&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false
    SPRING_DATASOURCE_PLATFORM=mysql
    JVM_XMX=384m
    JVM_XMS=384m
    JVM_XMN=192m
    JVM_MS=128m
    JVM_MMS=128m
    EOF
    cat > nacos-cluster.sh <<EOF
    #/bin/bash
    docker rm -f nacos nacos1
    docker run --name nacos --restart=always --ip=10.42.0.10 --network=nacos --hostname=nacos -p 8848:8848 -p 9848:9848 --env-file=\${PWD}/nacos-cluster.env -d lhstack/nacos:2.1.1
    docker run --name nacos1 --restart=always --ip=10.42.0.11 --network=nacos --hostname=nacos -p 8849:8848 -p 9849:9848 --env-file=\${PWD}/nacos-cluster.env -d lhstack/nacos:2.1.1
    EOF
    
  • 执行脚本,启动nacos集群
    sh nacos-cluster.sh
    
    在这里插入图片描述
    在这里插入图片描述
  • 通过浏览器访问,并添加配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 使用客户端连接
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

使用docker-compose

Nacos1.x

单机方式搭建

编写docker-compose.yaml脚本
# 停掉之前的容器
docker rm -f nacos nacos1 mysql
# 生成docker-compose脚本
cat > docker-compose.yaml <<EOF
version: '3'
services:
  nacos:
    image: lhstack/nacos:1.4.4
    container_name: nacos
    restart: always
    ports:
    - '8848:8848'
    environment:
      MODE: standalone
      JVM_XMX: 512m
      JVM_MS: 168m
      JVM_MMS: 168m
      JVM_XMN: 288m
    healthcheck:
      test: ["CMD-SHELL","wget --no-cache --spider 'http://localhost:8848/nacos/actuator/health' || exit 1"]
      timeout: 2s
      interval: 10s
      retries: 5
      start_period: 15s
    logging:
      options:
        max-file: '1'
        max-size: '32k'
    deploy:
      resources:
        limits:
          cpus: '20m'
          memory: '512M'
EOF
  • 运行上面的脚本
    在这里插入图片描述
执行docker-compose脚本
docker-compose up -d

在这里插入图片描述

使用浏览器访问

在这里插入图片描述

添加配置并使用客户端测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集群方式搭建

注意,所有操作都在demo目录下面,请确认清楚
在这里插入图片描述

生成nacos集群需要的sql文件

相关sql脚本,去官网下载,这里搭建1.4.4版本的nacos,对应sql也是1.4.4的
Nacos1.4.4-sql
注意,这里需要在sql内容之前添加创建数据库的sql语句,方便在mysql启动时自动加载sql创建对应表

## 删除之前的数据库生成的数据和sql文件
rm -rf data sql
## 创建nacos目录和sql目录
mkdir -p nacos/sql && cd nacos/sql
## 下载sql脚本
wget https://gitee.com/mirrors/Nacos/raw/1.4.4/distribution/conf/nacos-mysql.sql
## 在最前面添加数据库创建的sql
sed -i "1iCREATE DATABASE nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" nacos-mysql.sql
sed -i "2iUSE nacos;" nacos-mysql.sql
cd ..
生成docker-compose.yaml文件
  • 删除为使用的网卡

    docker network prune
    

    在这里插入图片描述

  • 生成docker-compose.yaml文件

    cat > docker-compose.yaml <<EOF
    version: '3'
    services:
      mysql:
        container_name: mysql
        image: mysql:8.0.28
        restart: always
        ports:
          - '3306:3306'
        environment:
          MYSQL_ROOT_PASSWORD: "123456"
          TZ: Asia/Shanghai
        volumes:
          - ./data:/var/lib/mysql
          - ./sql:/docker-entrypoint-initdb.d/
        networks:
        - nacos
        deploy:
          resources:
            limits:
              cpus: '0.5'
              memory: '512M'
        healthcheck:
          test: ["CMD","mysqladmin","-uroot","-p123456","ping","-h","localhost"]
          timeout: 20s
          retries: 10
      nacos:
        container_name: nacos
        image: lhstack/nacos:1.4.4
        restart: always
        ports:
          - '8848:8848'
        environment:
          MYSQL_SERVICE_DB_PARAM: "allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=UTC&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false"
          NACOS_SERVERS: "10.42.0.10 10.42.0.11"
          TZ: Asia/Shanghai
          MYSQL_SERVICE_HOST: 'mysql'
          MYSQL_SERVICE_USER: 'root'
          MYSQL_SERVICE_PASSWORD: '123456'
          MYSQL_SERVICE_DB_NAME: 'nacos'
          SPRING_DATASOURCE_PLATFORM: 'mysql'
          JVM_XMX: '384m'
          JVM_XMS: '384m'
          JVM_XMN: '192m'
          JVM_MS: '128m'
          JVM_MMS: '128m'
        logging:
          options:
            max-file: '1'
            max-size: '16k'
        depends_on:
          mysql:
            condition: service_healthy
        networks:
          nacos:
            ipv4_address: 10.42.0.10
        deploy:
          resources:
            limits:
              cpus: '1'
              memory: 384M
      nacos1:
        container_name: nacos1
        image: lhstack/nacos:1.4.4
        restart: always
        ports:
          - '8849:8848'
        environment:
          MYSQL_SERVICE_DB_PARAM: "allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=UTC&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false"
          TZ: Asia/Shanghai
          NACOS_SERVERS: "10.42.0.10 10.42.0.11"
          MYSQL_SERVICE_HOST: 'mysql'
          MYSQL_SERVICE_USER: 'root'
          MYSQL_SERVICE_PASSWORD: '123456'
          MYSQL_SERVICE_DB_NAME: 'nacos'
          SPRING_DATASOURCE_PLATFORM: 'mysql'
          JVM_XMX: '384m'
          JVM_XMS: '384m'
          JVM_XMN: '192m'
          JVM_MS: '128m'
          JVM_MMS: '128m'
        logging:
          options:
            max-file: '1'
            max-size: '16k'
        depends_on:
          mysql:
            condition: service_healthy
        networks:
          nacos:
            ipv4_address: 10.42.0.11
        deploy:
          resources:
            limits:
              cpus: '1'
              memory: 384M
    networks:
      nacos:
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: 10.42.0.0/16    
    EOF
    
启动并使用浏览器访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加配置,并使用客户端连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Nacos2.x

单机方式搭建

编写docker-compose.yaml脚本
# 停掉之前的容器
docker rm -f nacos nacos1 mysql
# 生成docker-compose脚本
cat > docker-compose.yaml <<EOF
version: '3'
services:
  nacos:
    image: lhstack/nacos:2.1.1
    container_name: nacos
    restart: always
    ports:
    - '8848:8848'
    - '9848:9848'
    environment:
      MODE: standalone
      JVM_XMX: 512m
      JVM_MS: 168m
      JVM_MMS: 168m
      JVM_XMN: 288m
    healthcheck:
      test: ["CMD-SHELL","wget --no-cache --spider 'http://localhost:8848/nacos/actuator/health' || exit 1"]
      timeout: 2s
      interval: 10s
      retries: 5
      start_period: 15s
    logging:
      options:
        max-file: '1'
        max-size: '32k'
    deploy:
      resources:
        limits:
          cpus: '20m'
          memory: '512M'
EOF
启动并使用浏览器访问
docker-compose up -d

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加配置并使用客户端测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集群方式搭建

注意,所有操作都在demo目录下面,请确认清楚
在这里插入图片描述

生成nacos集群需要的sql文件

相关sql脚本,去官网下载,这里搭建2.1.1版本的nacos,对应sql也是2.1.1的
Nacos2.1.1-sql
注意,这里需要在sql内容之前添加创建数据库的sql语句,方便在mysql启动时自动加载sql创建对应表

## 删除之前的数据库生成的数据和sql文件
rm -rf data sql
## 创建nacos目录和sql目录
mkdir -p nacos/sql && cd nacos/sql
## 下载sql脚本
wget https://gitee.com/mirrors/Nacos/raw/2.1.1/distribution/conf/nacos-mysql.sql
## 在最前面添加数据库创建的sql
sed -i "1iCREATE DATABASE nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" nacos-mysql.sql
sed -i "2iUSE nacos;" nacos-mysql.sql
cd ..
生成docker-compose.yaml文件
  • 清除之前的痕迹

    docker rm -f nacos nacos1 mysql
    #删除为使用的网卡
    docker network prune
    

    在这里插入图片描述

  • 生成docker-compose.yaml文件

    cat > docker-compose.yaml <<EOF
    version: '3'
    services:
      mysql:
        container_name: mysql
        image: mysql:8.0.28
        restart: always
        ports:
          - '3306:3306'
        environment:
          MYSQL_ROOT_PASSWORD: "123456"
          TZ: Asia/Shanghai
        volumes:
          - ./data:/var/lib/mysql
          - ./sql:/docker-entrypoint-initdb.d/
        networks:
        - nacos
        deploy:
          resources:
            limits:
              cpus: '0.5'
              memory: '512M'
        healthcheck:
          test: ["CMD","mysqladmin","-uroot","-p123456","ping","-h","localhost"]
          timeout: 20s
          retries: 10
      nacos:
        container_name: nacos
        image: lhstack/nacos:2.1.1
        restart: always
        ports:
          - '8848:8848'
          - '9848:9848'
        environment:
          MYSQL_SERVICE_DB_PARAM: "allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=UTC&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false"
          NACOS_SERVERS: "10.42.0.10 10.42.0.11"
          TZ: Asia/Shanghai
          MYSQL_SERVICE_HOST: 'mysql'
          MYSQL_SERVICE_USER: 'root'
          MYSQL_SERVICE_PASSWORD: '123456'
          MYSQL_SERVICE_DB_NAME: 'nacos'
          SPRING_DATASOURCE_PLATFORM: 'mysql'
          JVM_XMX: '384m'
          JVM_XMS: '384m'
          JVM_XMN: '192m'
          JVM_MS: '128m'
          JVM_MMS: '128m'
        logging:
          options:
            max-file: '1'
            max-size: '16k'
        depends_on:
          mysql:
            condition: service_healthy
        networks:
          nacos:
            ipv4_address: 10.42.0.10
        deploy:
          resources:
            limits:
              cpus: '1'
              memory: 384M
      nacos1:
        container_name: nacos1
        image: lhstack/nacos:2.1.1
        restart: always
        ports:
          - '8849:8848'
          - '9849:9848'
        environment:
          MYSQL_SERVICE_DB_PARAM: "allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=UTC&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false"
          TZ: Asia/Shanghai
          NACOS_SERVERS: "10.42.0.10 10.42.0.11"
          MYSQL_SERVICE_HOST: 'mysql'
          MYSQL_SERVICE_USER: 'root'
          MYSQL_SERVICE_PASSWORD: '123456'
          MYSQL_SERVICE_DB_NAME: 'nacos'
          SPRING_DATASOURCE_PLATFORM: 'mysql'
          JVM_XMX: '384m'
          JVM_XMS: '384m'
          JVM_XMN: '192m'
          JVM_MS: '128m'
          JVM_MMS: '128m'
        logging:
          options:
            max-file: '1'
            max-size: '16k'
        depends_on:
          mysql:
            condition: service_healthy
        networks:
          nacos:
            ipv4_address: 10.42.0.11
        deploy:
          resources:
            limits:
              cpus: '1'
              memory: 384M
    networks:
      nacos:
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: 10.42.0.0/16    
    EOF
    
启动并使用浏览器访问
docker-compose up -d 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加配置并使用客户端测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值