文章目录

  • docker安装部署nacos集群
  • 1.镜像拉取
  • 2.参数说明
  • 3.创建数据库
  • 1)在GitHub上下:https://github.com/alibaba/nacos/releases,下载nacos-server-1.4.0.zip
  • 2)把压缩包解压:有一个sql执行脚本,/conf/nacos-mysql.sql
  • 3)创建数据库nacos_config并执行sql脚本
  • 3.启动nacos命令
  • 4.访问nacos



docker安装部署nacos集群

前提条件

  • 三台服务器ip:192.168.56.102、192.168.56.105、192.168.56.106
  • 安装好docker环境
  • 安装好mysql数据库

1.镜像拉取

docker pull nacos/nacos-server:1.4.0

2.参数说明

参数名

描述

选项

MODE

集群/独立

cluster/standalone 默认:cluster

NACOS_SERVERS

nacos群集地址

例如。ip1:端口1 ip2:端口2 ip3:端口3

PREFER_HOST_MODE

是否支持主机名

主机名/ IP默认IP

NACOS_APPLICATION_PORT

nacos服务器端口

默认8848

NACOS_SERVER_IP

网络为mutil-network时自定义nacos服务器ip

SPRING_DATASOURCE_PLATFORM

独立支持mysql

mysql /空默认为空

MYSQL_SERVICE_HOST

mysql主机

MYSQL_SERVICE_PORT

mysql数据库端口

默认值:3306

MYSQL_SERVICE_DB_NAME

mysql数据库名称

MYSQL_SERVICE_USER

数据库的用户名

MYSQL_SERVICE_PASSWORD

数据库密码

MYSQL_DATABASE_NUM

表示数据库数量

默认值:1

MYSQL_SERVICE_DB_PARAM

数据库URL参数

默认值:characterEncoding = utf8&connectTimeout = 1000&socketTimeout = 3000&autoReconnect = true

JVM_XMS

-Xms

默认值:2g

JVM_XMX

-Xmx

默认值:2g

JVM_XMN

-Xmn

默认值:1g

JVM_MS

-XX:MetaspaceSize

JVM_MMS

-XX:MaxMetaspaceSize

默认值:320m

NACOS_DEBUG

启用远程调试

TOMCAT_ACCESSLOG_ENABLED

server.tomcat.accesslog.enabled

默认值:false

NACOS_AUTH_SYSTEM_TYPE

要使用的身份验证系统,目前仅支持“ nacos”

默认值:nacos

NACOS_AUTH_ENABLE

如果打开身份验证系统

默认值:false

NACOS_AUTH_TOKEN_EXPIRE_SECONDS

令牌到期时间(以秒为单位)

默认值:18000

NACOS_AUTH_TOKEN

默认令牌

默认值:SecretKey012345678901234567890123456789012345678901234567890123456789

NACOS_AUTH_CACHE_ENABLE

打开/关闭身份验证信息的缓存。通过打开此开关,认证信息的更新将有15秒的延迟。

默认值:false

MEMBER_LIST

使用配置文件或命令行参数设置集群列表

例如:192.168.16.101:8847?raft_port = 8807、192.168.16.101?raft_port = 8808、192.168.16.101:8849?raft_port = 8809

EMBEDDED_STORAGE

在没有mysql的群集模式下使用嵌入式存储

embedded 默认值:无

3.创建数据库

下载执行脚本:

1)在GitHub上下:https://github.com/alibaba/nacos/releases,下载nacos-server-1.4.0.zip

docker 如何部署多个项目 docker多服务器部署_linux

2)把压缩包解压:有一个sql执行脚本,/conf/nacos-mysql.sql

docker 如何部署多个项目 docker多服务器部署_docker_02

3)创建数据库nacos_config并执行sql脚本

表结构如下:

docker 如何部署多个项目 docker多服务器部署_docker 如何部署多个项目_03

3.启动nacos命令

在三台服务器上都启动,三台服务启动时候把--name nacos-1换一下,区分容器

docker run \
--restart=always \
--name nacos-1 \
-p 8848:8848 \
--env MODE=cluster \
--env NACOS_SERVERS=192.168.56.102:8848,192.168.56.105:8848,192.168.56.106:8848 \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=192.168.56.102 \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_DB_NAME=nacos_config \
--env MYSQL_SERVICE_USER=root \
--env MYSQL_SERVICE_PASSWORD=root \
--env JVM_XMS=512m \
--env JVM_XMX=512m \
--env JVM_XMN=256m \
-v /usr/local/docker/nacos/logs:/home/nacos/logs \
-v /usr/local/docker/nacos/data:/home/nacos/data \
-v /usr/local/docker/nacos/conf:/home/nacos/init.d \
-d nacos/nacos-server:1.4.0

如果NACOS_SERVERS不想配置IP,可以换成 hostname,增加参数
前提还有docker swarm集群搭建好,不然无法识别nacos-1,nacos-2,nacos-3

--hostname nacos-1 \
--env NACOS_SERVERS=nacos-1:8848,nacos-2:8848,nacos-3:8848 \

查看日志是否启动成功:

cat /usr/local/docker/nacos/logs/nacos.log

日志展示:INFO Nacos started successfully in cluster mode. use external storage就是成功了

202-12-09 09:38:59,565 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'
2020-12-09 09:38:59,569 INFO Started Nacos in 10.311 seconds (JVM running for 11.532)
2020-12-09 09:38:59,569 INFO Nacos Log files: /home/nacos/logs
2020-12-09 09:38:59,570 INFO Nacos Log files: /home/nacos/conf
2020-12-09 09:38:59,570 INFO Nacos Log files: /home/nacos/data
2020-12-09 09:38:59,570 INFO Nacos started successfully in cluster mode. use external storage

4.访问nacos

http://192.168.56.102:8848/nacos/index.html 在集群管理的节点列表里,可以看到每个节点情况
docker 如何部署多个项目 docker多服务器部署_nacos_04