Linux之docker安装部署nacos集群
文章目录docker安装部署nacos集群1.镜像拉取2.参数说明启动nacos命令访问nacosdocker安装部署nacos集群前提条件三台服务器ip:192.168.56.102、192.168.56.105、192.168.56.106安装好docker环境(教程:Linux的centos7安装docker)1.镜像拉取docker pull nacos/nacos-server:1.4.
·
文章目录
docker安装部署nacos集群
前提条件
- 三台服务器ip:192.168.56.102、192.168.56.105、192.168.56.106
- 安装好docker环境(教程:Linux的centos7安装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
2)把压缩包解压:有一个sql执行脚本,/conf/nacos-mysql.sql
3)创建数据库nacos_config并执行sql脚本
表结构如下:
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
在集群管理的节点列表里,可以看到每个节点情况
更多推荐
已为社区贡献2条内容
所有评论(0)