结合实践总结Docker安装Nacos

一、前言

    在SpringCloud中注册中心、配置中心都需要专门去写一定量的以及一些配置,配置信息多了就不方便去维护管理,于是阿里的Nacos 解决这些问题就提供了该一站式解决方案。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

    在实际开发,基于SpringCloudAlibaba框架开发的日常工作中,作为程序工程师,你得会进行基本的安装以及问题的解决。好了下面就开始进行安装的内容。

二、Docker安装Nacos

1、在虚拟机VMware创建新的虚拟机并安装CentOS7,平时可以练习

这一步可以看看笔者的另一篇博文在虚拟机VMware安装CentOS7

2、在CentOS7安装Docker

这一步可以看看笔者的另一篇博文CentOS安装Docker

3、在Docker安装MySQL7

这一步可以看看笔者的另一篇博文结合实践总结docker 安装 mysql5.7

4、导入执行nacos-mysql.sql脚本

一些配置的数据都是在里面的

https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql

如果直接下载nacos的,那么脚本就在这个conf目录下面:

5、创建Nacos的配置、数据和日志存放目录

# 创建 nacos 配置存放目录
mkdir -p /home/docker/nacos/conf  && chown -R 200 /home/docker/nacos/conf


# 创建 nacos 数据存放目录
mkdir -p /home/docker/nacos/data  && chown -R 200 /home/docker/nacos/data

# 创建 nacos 日志存放目录
mkdir -p /home/docker/nacos/logs  && chown -R 200 /home/docker/nacos/logs


conf:这个是Nacos配置文件的存放目录,Nacos是用Java写的,到时候我们得在里面将一些配置改成我们自己的

conf文件夹下可能有如下文件:

 

application.properties配置文件是不是很熟悉,是的就是我们经常见到的SpringBoot等的配置文件

data:就是Nacos存放我们配置的数据的,如下面这些等等:

 

logs:就是Nacos的执行日志。

 

6、docker pull nacos/nacos-server:1.3.1拉取镜像,如下即成功

不放心的话可执行docker images命令检查是否拉取成功

7、创建启动容器

docker  run \
--name nacos -d \
-p 8888:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
nacos/nacos-server:1.3.1

nacos的默认端口是8848,默认账号密码是nacos/nacos

8888是映射的端口,这个可以自己定义,访问的时候我们会用到它。

创建启动容器参数如下:

名称描述
MODE cluster模式/standalone模式 cluster/standalone default cluster
NACOS_SERVERSnacos cluster地址 nacos cluster地址    eg. ip1,ip2,ip3
PREFER_HOST_MODE 是否支持hostname  hostname/ip default ip
NACOS_SERVER_PORTnacos服务器端口   default 8848
NACOS_SERVER_IP    多网卡下的自定义nacos服务器IP  多网卡下的自定义nacos服务器IP  
SPRING_DATASOURCE_PLATFORM standalone 支持 mysql    mysql / empty default empty
MYSQL_SERVICE_HOST   mysql 的host  
MYSQL_SERVICE_PORTmysql 的端口
MYSQL_SERVICE_DB_NAMEmysql 的数据库名称
MYSQL_SERVICE_USERmysql 的账号
MYSQL_SERVICE_PASSWORDmysql 的密码
MYSQL_MASTER_SERVICE_HOST   
MYSQL_MASTER_SERVICE_PORT mysql 主节点端口 default : 3306
MYSQL_MASTER_SERVICE_DB_NAME 
MYSQL_MASTER_SERVICE_USER
MYSQL_MASTER_SERVICE_PASSWORD 
MYSQL_SLAVE_SERVICE_HOST mysql从节点host  
MYSQL_SLAVE_SERVICE_PORT 
MYSQL_DATABASE_NUM数据库数量  default :2
JVM_XMS-Xmsdefault :2g
JVM_XMX-Xmxdefault :2g

如下就是创建启动成功了,注意状态为UP

7、本地访问http://192.168.88.140:8888/nacos如下就是成功了

192.168.88.140是我的主机地址,你改成自己的

8888就是上面说的创建容器时映射的端口

登录时默认账号密码:nacos/nacos

8、进入nacos的容器内,修改conf/application.properties的内容:

8.1、docker exec -it 容器ID /bin/bash,执行该命令进入容器

8.2、ll或ls,执行该命令可查看nacos下有哪些文件夹

8.3、cd conf,执行该命令进入配置文件夹

8.4、ls,执行该命令查看有哪些文件

8.5、vi application.properties,执行该命令进入编辑文件

8.6、按i进入编辑状态 

8.7、按Esc退出编辑状态,按":"冒号,后输入wq,及“:wq”回车退出编辑文件

 

本地开发例子:将db.url.0的主机地址改成你自己的,数据库名称也是你自己的,在第4步中自己创建的。

#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8848

#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
# nacos.inetutils.prefer-hostname-over-ip=false

### Specify local server's IP:
# nacos.inetutils.ip-address=


#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
# spring.datasource.platform=mysql

### Count of DB:
# db.num=1

### Connect URL of DB:
# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# db.user.0=nacos
# db.password.0=nacos

db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456

### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡布奇诺-海晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值