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.d
-
- cd /home/20221125/mynacos/init.d
-
- # 创建文件
- touch custom.properties
-
- # 修改配置文件
- vim /home/20221125/mynacos/init.d/custom.properties
-
- server.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=pass
-
- nacos.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
-
- # 查看容器 hostname、ip地址、环境变量
- docker exec first_nacos hostname
- docker exec first_nacos ip addr
- docker exec first_nacos env
-
- # 查看容器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
-
- # 停止和删除容器
- docker stop first_nacos && docker rm first_nacos
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
docker-compose
- # Step 1: 创建 docker-compose.yml 文件
- cd /home/20221125/mynacos
- vim docker-compose.yml
-
- # Step 2: 编辑内容如下
- version: "3.0"
- services:
- mysqlServer:
- image: nacos/nacos-server
- container_name: first_nacos
- restart: always
- privileged: true
- environment:
- - MODE=standalone
- - PREFER_HOST_MODE=hostname
- ports:
- - 8848:8848
- volumes:
- - /home/20221125/mynacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
- - /home/20221125/mynacos/logs:/home/nacos/logs
-
- # Step 3: 执行命令
- docker-compose up -d
*
*
*