数据库
首页 > 数据库> > Docker:docker部署Nacos(单例与集群)并配置自定义Mysql

Docker:docker部署Nacos(单例与集群)并配置自定义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