Nacos 是阿里巴巴推出来的一个项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
1、搜索,下载,查询
# 搜索镜像
docker search nacos# 下载镜像
docker pull nacos/nacos-server# 查看镜像
docker images
2、新建 配置文件夹
mkdir -p /home/20221125/mynacos/{data,logs,conf}
mkdir -p /home/20221125/mynacos/init.dcd /home/20221125/mynacos/init.d# 创建文件
touch custom.properties# 修改配置文件
vim /home/20221125/mynacos/init.d/custom.propertiesserver.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1 db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=passnacos.cmdb.dumpTaskInterval=3600 nacos.cmdb.eventTaskInterval=10 nacos.cmdb.labelTaskInterval=300 nacos.cmdb.loadDataAtStart=false management.metrics.export.elastic.enabled=false management.metrics.export.influx.enabled=false server.tomcat.accesslog.enabled=true server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
3、运行容器
# 1
docker run -d --name first_nacos -p 8848:8848 -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server# 2 挂载
docker run -d \
-p 8848:8848 \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/20221125/mynacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /home/20221125/mynacos/logs:/home/nacos/logs \
--restart always \
--name first_nacos nacos/nacos-server# 3 挂载
docker run \--name first_nacos \-p 8848:8848 \--privileged=true \--restart=always \-e MODE=standalone \-e PREFER_HOST_MODE=hostname \-e JVM_XMS=256m \-e JVM_XMX=256m \-e MYSQL_SERVICE_HOST=192.168.56.10 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=root -e MYSQL_SERVICE_DB_NAME=nacos -v /home/20221125/mynacos/logs:/home/nacos/logs \-v /home/20221125/mynacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \-d nacos/nacos-server# 参数说明:-v 宿主机路径:容器内路径 -e MODE=standalone:单节点模式-e MYSQL_SERVICE_HOST:数据库地址-e MYSQL_SERVICE_USER:数据库用户名-e MYSQL_SERVICE_PASSWORD:数据库密码-e MYSQL_SERVICE_DB_NAME:需连接的数据库名称
4、打开管理页面
浏览器地址栏输入:http://192.168.1.179:8848/nacos/index.html#/login
输入用户名密码
用户名:nacos
密码:nacos
5、进入容器,查看日志,IP地址
# 查看容器运行日志
docker logs first_nacos# 查看容器IP地址
docker inspect first_nacos
# "IPAddress": "172.17.0.2"# 查看容器IP地址
docker inspect first_nacos | grep 'IPAddress'# 进入容器
docker exec -it first_nacos /bin/bash
docker exec -it first_nacos bash
ls -l
6、设置跟随docker启动
docker update first_nacos --restart=always
# 退出时总是重启
docker update first_nacos --restart=unless-stopped
7、数据包转发
# 跳转目录
cd /usr/lib/sysctl.d# 查看文件
cat /usr/lib/sysctl.d/50-default.conf# 编辑文件
vim /usr/lib/sysctl.d/50-default.conf# 末尾添加内容
net.ipv4.ip_forward = 1# 重启network
systemctl restart network
8、防火墙、开放端口
# 查看防火墙状态
systemctl status firewalld
或
firewall-cmd --state
# 暂时关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙(慎用)
systemctl disable firewalld
# 开启防火墙
systemctl start firewalld
# 开放指定端口
firewall-cmd --zone=public --add-port=8848/tcp --permanent
# 关闭指定端口
firewall-cmd --zone=public --remove-port=8848/tcp --permanent
# 立即生效
firewall-cmd --reload
# 查看开放的端口
firewall-cmd --zone=public --list-ports
*
*
*