美文网首页
docker部署nacos集群并配置mysql8

docker部署nacos集群并配置mysql8

作者: 冲鸭_程序猿 | 来源:发表于2022-04-05 17:25 被阅读0次

    一、安装docker

    linux系统下安装docker参考文章:https://www.jianshu.com/p/a217829aa32e

    二、docker 拉取nacos镜像

    docker pull nacos/nacos-server
    

    三、启动nacos容器

    单机部署

    docker run -d --name nacos -p 8848:8848 --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=47.243.138.3 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=Root@2021 -e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC" nacos/nacos-server
    

    集群部署

    docker run -d --name nacos -p 8848:8848 --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=cluster -e NACOS_APPLICATION_PORT=8848 -e NACOS_SERVERS=121.4.53.209:8848,120.48.21.24:8848 -e NACOS_SERVER_IP=121.4.53.209 -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=47.243.138.3 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=Root@2021 -e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC" nacos/nacos-server
    

    四、启动配置说明

    docker run -d \ # -d表示是后台运行
    --name nacos8846 \ # 给容器起个名字
    -p 8848:8848 \ # 容器外部端口映射
    -e MODE=cluster \ # 以集群模式运行 stalone 单机模式运行
    -e NACOS_APPLICATION_PORT=8848 \ # 这台Nacos服务的port是8848
    -e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 \ # Nacos集群的所有机器的信息
    -e NACOS_SERVER_IP=192.168.100.132 \ # 这台Nacos服务的IP
    -e SPRING_DATASOURCE_PLATFORM=mysql \ # 使用外置MySQL存储配置信息
    -e MYSQL_SERVICE_HOST=192.168.100.132 \ # 外置MySQL的IP
    -e MYSQL_SERVICE_PORT=3306 \ # 外置MySQL的port
    -e MYSQL_SERVICE_USER=root \ # 外置MySQL的用户名
    -e MYSQL_SERVICE_PASSWORD=123456 \ # 外置MySQL的密码
    -e MYSQL_SERVICE_DB_NAME=nacos_config \ # 外置MySQL的数据库,也就是Nacos的配置文件要存储得到哪个数据库
    -e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC" \ #mysql8数据库连接配置
    nacos/nacos-server:1.3.2 # 运行哪个镜像
    

    五、springboot nacos集群配置

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 192.168.0.1:8848,192.168.0.2:8848,192.168.0.3:8848
    ## 这么配置完全是可以的,但是如果Nacos换了ip或者整体要做迁移,那么所有使用这个Nacos的微服务的配置文件中的ip全都要进行更换,还需要重启,这对于整个微服务架构来讲耦合会非常大,违背了服务拆分的原则。
    

    六、nginx代理转发配置nacos集群

    修改nginx配置文件 可以参考docker配置nginx(https://www.jianshu.com/p/543fad51d6eb)

    upstream cluster {
        server 192.168.0.1:8848;
        server 192.168.0.2:8848;
        server 192.168.0.3:8848;
    }
    server {
            listen       80;
            server_name  127.0.0.1;
            charset koi8-r;
            access_log  logs/host.access.log  main;
            location / {
              proxy_pass http://cluster;
            }
    }
    

    修改springboot中的nacos配置

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 192.168.100.132:80 # 指向Nginx,由Nginx进行转发(nginx下部署了3台Nacos集群)
    

    相关文章

      网友评论

          本文标题:docker部署nacos集群并配置mysql8

          本文链接:https://www.haomeiwen.com/subject/ltbksrtx.html