ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Docker:docker部署Nacos(单例与集群)并配置自定义Mysql

2022-04-13 11:33:38  阅读:250  来源: 互联网

标签:自定义 SERVICE mysql JVM nacos Nacos 8848 单例 MYSQL


拉取Nacos镜像

下载nacos镜像

#默认拉取最新的Nacos镜像
docker pull nacos/nacos-server

容器生成一:单例容器创建

    1. 创建简单的单例Nacos服务

# 启动容器
docker run -d --name nacos -p 8848:8848 -e PREFER_HOST_MODE=hostname -e MODE=standalone -t nacos/nacos-server

    2. Nacos容器生成可配参数表

Nacos配置参数

参数描述

参数可选值域

默认值

MODE

cluster模式/standalone模式

cluster/standalone 

cluster 

NACOS_SERVERS

nacos cluster地址

ip1 ip2 ip3

示例:

NACOS_SERVERS="nacos1-ip:8848 nacos2-ip:8848 nacos3-ip:8848"

PREFER_HOST_MODE

是否支持hostname 

 hostname/ip

ip 

NACOS_SERVER_PORT

nacos服务器端口 

 

8848 

NACOS_SERVER_IP

 多网卡下的自定义nacos服务器IP

 

 

SPRING_DATASOURCE_PLATFORM

MODE的配置参数(standalone) 支持 mysql 

 mysql/empty

empty 

MYSQL_MASTER_SERVICE_HOST

mysql 主节点host 

 

示例:

MYSQL_SERVICE_HOST=119.90.153.96

MYSQL_MASTER_SERVICE_PORT

 mysql 主节点端口

 

 3306

MYSQL_MASTER_SERVICE_DB_NAME

mysql 主节点数据库 

 

指定nacos库表:

MYSQL_SERVICE_DB_NAME=nacos

MYSQL_MASTER_SERVICE_USER

 数据库用户名

 

 

MYSQL_MASTER_SERVICE_PASSWORD

 数据库密码

 

 

MYSQL_SLAVE_SERVICE_HOST

mysql从节点host 

 

 

MYSQL_SLAVE_SERVICE_PORT

mysql从节点端口 

 

 3306

MYSQL_DATABASE_NUM

 数据库数量

 

JVM_XMS

JVM虚拟机设置-Xms 

 

 2g

JVM_XMX

 JVM虚拟机设置-Xmx

 

 2g

JVM_XMN

 JVM虚拟机设置-Xmn

 

 1g

JVM_MS

JVM虚拟机设置-XX:MetaspaceSize  

 

 128m

JVM_MMS

 JVM虚拟机设置-XX:MaxMetaspaceSize 

 

 320m

NACOS_DEBUG

开启远程调试 

 y/n

TOMCAT_ACCESSLOG_ENABLED

server.tomcat.accesslog.enabled 

 

 false

    3. Nacos服务访问地址

      地址:http://ip:8848/nacos 账号:nacos 密码:nacos

容器生成二:集群容器搭建

    1. 创建Nacos-1容器

docker run -it \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.1.42:8848 172.18.1.43:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.1.30 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=password \
-p 9901:8848 \
--name nacos01 \
--net mynet --ip 172.18.1.41 \
--restart=always \
nacos/nacos-server

    2. 创建Nacos-2容器

docker run -it \
-e PREFER_HOST_MODE=ip \
-e MODE=cluster \
-e NACOS_SERVERS="172.18.1.41:8848 172.18.1.43:8848" \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.18.1.30 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root123 \
-p 9902:8848 \
--name nacos02 \
--net mynet --ip 172.18.1.42 \
--restart=always \
nacos/nacos-server

    3. Nacos容器生成可配参数表

Nacos配置参数

参数描述

参数可选值域

默认值

MODE

cluster模式/standalone模式

cluster/standalone 

cluster 

NACOS_SERVERS

nacos cluster地址

ip1 ip2 ip3

示例:

NACOS_SERVERS="nacos1-ip:8848 nacos2-ip:8848 nacos3-ip:8848"

PREFER_HOST_MODE

是否支持hostname 

 hostname/ip

ip 

NACOS_SERVER_PORT

nacos服务器端口 

 

8848 

NACOS_SERVER_IP

 多网卡下的自定义nacos服务器IP

 

 

SPRING_DATASOURCE_PLATFORM

MODE的配置参数(standalone) 支持 mysql 

 mysql/empty

empty 

MYSQL_MASTER_SERVICE_HOST

mysql 主节点host 

 

示例:

MYSQL_SERVICE_HOST=119.90.153.96

MYSQL_MASTER_SERVICE_PORT

 mysql 主节点端口

 

 3306

MYSQL_MASTER_SERVICE_DB_NAME

mysql 主节点数据库 

 

指定nacos库表:

MYSQL_SERVICE_DB_NAME=nacos

MYSQL_MASTER_SERVICE_USER

 数据库用户名

 

 

MYSQL_MASTER_SERVICE_PASSWORD

 数据库密码

 

 

MYSQL_SLAVE_SERVICE_HOST

mysql从节点host 

 

 

MYSQL_SLAVE_SERVICE_PORT

mysql从节点端口 

 

 3306

MYSQL_DATABASE_NUM

 数据库数量

 

JVM_XMS

JVM虚拟机设置-Xms 

 

 2g

JVM_XMX

 JVM虚拟机设置-Xmx

 

 2g

JVM_XMN

 JVM虚拟机设置-Xmn

 

 1g

JVM_MS

JVM虚拟机设置-XX:MetaspaceSize  

 

 128m

JVM_MMS

 JVM虚拟机设置-XX:MaxMetaspaceSize 

 

 320m

NACOS_DEBUG

开启远程调试 

 y/n

TOMCAT_ACCESSLOG_ENABLED

server.tomcat.accesslog.enabled 

 

 false

 

 

    4. 查看到集群中有多少台服务器

    5. 实现Nginx搭建负载均衡

      1) 为什么要实现反向代理?

           因为一个集群中两台服务之间没有联系,必须给这两台服务进行建立联系,才能登一个账号可以进行同步操作。

      2) 修改Nginx的配置文件 defalut.conf

upstream nacosList {
    server 172.18.1.41:8848 weight=1;
    server 172.18.1.42:8848 weight=2;
}

server {
    listen  80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html/;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location /nacos {
        proxy_pass  http://nacosList;
    }

}

      3)生成Nginx容器

docker run -itd \
--name nginx \
--net mynet \ -v /home/nginx/conf.d:/etc/nginx/conf.d \ -v /home/nginx/html:/etc/nginx/html \ -v /home/nginx/log:/usr/log/nginx \ -p 8080:80 \ nginx

       4) 访问Nginx的地址

        地址 http://localhost:80/nacos

在这里插入图片描述

 

 

文章整合至:https://blog.csdn.net/qq_34807429/article/details/103779305https://blog.csdn.net/m0_53151031/article/details/123118920https://copyfuture.com/blogs-details/20200117121620859lkygduriq48ayjc

标签:自定义,SERVICE,mysql,JVM,nacos,Nacos,8848,单例,MYSQL
来源: https://www.cnblogs.com/nhdlb/p/16139178.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有