Nacos 基于docker部署

  1. 单机模式安装
  2. 写在最后

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,所以只要使用0.7及以上版本的nacos,便可以配置mysql数据库,可视化的查看数据的存储情况了。

单机模式安装

本次基于docker

未安装docker的 点击进入 docker 03 在linux上安装

安装mysql数据库

用Mysql5.6吧。安装教程 点击进入 mysql 05 基于docker部署

为什么不用高版本,我试过Mysql8,Nacos跑起来后JDBC报错:

nested exception is java.sql.SQLException: Could not retrieve transation read-only status server

原因是mysql驱动不兼容,替换驱动可解决问题

考虑到我们用的是 docker 部署 Nacos,因此我这里不建议换驱动

新建数据库

CREATE DATABASE IF NOT EXISTS nacos DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

初始化数据库

点击下载SQL脚本 并执行~

官网的下载后运行可能会报错 Index column size too large.解决方案见这篇

获取镜像

docker pull nacos/nacos-server:1.1.4

运行Nacos容器

docker run -d \
--name nacos \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_MASTER_SERVICE_HOST=192.168.3.99 \
-e MYSQL_MASTER_SERVICE_PORT=3306 \
-e MYSQL_MASTER_SERVICE_USER=zjsoscp \
-e MYSQL_MASTER_SERVICE_PASSWORD=zjsoscp2022 \
-e MYSQL_MASTER_SERVICE_DB_NAME=nacos \
-e MYSQL_SLAVE_SERVICE_HOST=192.168.3.99 \
-e MYSQL_SLAVE_SERVICE_PORT=3306 \
-p 8848:8848 \
nacos/nacos-server:1.1.4

我上面MYSQL_MASTER_SERVICE_HOSTMYSQL_SLAVE_SERVICE_HOST都是走宿主机IP,你想走docker内部网络的话,参考下 这篇 来创建个区域网吧!创建完毕后需要修改上述两个HOST外,还需要将mysql的端口一并改掉~

查看启动日志

docker logs -f nacos

访问网页

访问地址1:http://nacos:8848/nacos
账号/密码:nacos / nacos

安全起见,进去后建议修改密码!

配置nginx(可选,如需要)

我们已经可以通过IP:8848访问了,但是为了方便集群管理,最好通过nginx访问

location /nacos/ {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forward-For $remote_addr;
    proxy_pass http://192.168.22.14:8848;
    client_max_body_size 100m;
}

访问地址:http://nginx:port/nacos

写在最后

除了用我上面这套,你也可以用 官方,它应该是支持mysql8,我没试过~


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:Nacos 基于docker部署

字数:555

本文作者:夏来风

发布时间:2020-04-25, 22:58:34

原始链接:http://www.demo1024.com/blog/nacos-install/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。