赞
踩
目录
最近在做nacos配置中心的功能,之前公司只用了注册中心,在这里做下总结。
- docker run -itd --name 容器名称 \
- --network=定义网络 \
- --ip 定义网络IP \
- -p 7848:7848 \
- -p 8848:8848 \
- -p 9848:9848 \
- -p 9849:9849 \
- --restart=always \
- -e TZ=Asia/Shanghai \
- -e PREFER_HOST_MODE=本机IP \
- -e NACOS_SERVER_IP=本机IP \
- -e MODE=standalone \
- -e SPRING_DATASOURCE_PLATFORM=mysql \
- -e MYSQL_SERVICE_HOST=数据库网络IP\
- -e MYSQL_SERVICE_PORT=3306 \
- -e MYSQL_SERVICE_DB_NAME=nacos数据库名称 \
- -e MYSQL_SERVICE_USER=数据库用户 \
- -e MYSQL_SERVICE_PASSWORD=数据库密码 \
- nacos/nacos-server:v2.2.0

集群应该最少3台机器
- docker run -itd --name 容器名称 \
- --network=定义网络 \
- --ip 定义网络IP \
- -p 7848:7848 \
- -p 8848:8848 \
- -p 9848:9848 \
- -p 9849:9849 \
- --restart=always \
- -e TZ=Asia/Shanghai \
- -e PREFER_HOST_MODE=本机IP \
- -e NACOS_SERVER_IP=本机IP \
- -e MODE=cluster \
- -e NACOS_SERVERS="集群所有主机:端口空格分隔" \
- -e SPRING_DATASOURCE_PLATFORM=mysql \
- -e MYSQL_SERVICE_HOST=数据库网络IP\
- -e MYSQL_SERVICE_PORT=3306 \
- -e MYSQL_SERVICE_DB_NAME=nacos数据库名称 \
- -e MYSQL_SERVICE_USER=数据库用户 \
- -e MYSQL_SERVICE_PASSWORD=数据库密码 \
- nacos/nacos-server:v2.2.0

- 1、启动nginx容器
- docker run -itd --name nacos-nginx \
- --network=定义网络 --ip 定义网络IP -p 10010:80 \
- -v /usr/local/nacos-nginx/conf.d:/etc/nginx/conf.d \
- -v /usr/local/nacos-nginx/html:/etc/nginx/html \
- -v /usr/local/nacos-nginx/log:/usr/log/nginx \
- nginx
-
- 2、修改nginx配置文件
- cd /usr/local/nacos-nginx/conf.d
- vim defalut.conf
-
- 填写以下内容:
- upstream nacosList {
- server 结点1IP:端口 weight=1;
- server 结点2IP:端口 weight=1;
- server 结点3IP:端口 weight=1;
- }
-
- server {
- listen 80;
- server_name localhost;
-
- location / {
- root /etc/nginx/html/;
- index index.html index.htm;
- }
-
- error_page 500 502 503 504 /50x.html;
-
- location = /50x.html {
- root /usr/share/nginx/html;
- }
-
- location /nacos {
- proxy_pass http://nacosList/nacos;
- }
- }
-
- 3、重启容器
- docker restart nacos-nginx

导入数据库略,默认账号密码为nacos/nacos
- 修改/usr/local/nacos/conf/application.properties
- 1.开启鉴权
- 修改 nacos.core.auth.enabled 为true
- nacos.core.auth.enabled=true
- 2.自定义秘钥
- nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
- 3.开启服务身份识别功能-可选
- 服务间通信
- nacos.core.auth.server.identity.key=example
- nacos.core.auth.server.identity.value=example
- 所有集群均需要配置相同的server.identity信息
-
- 重启nacos
- docker restart nacos容器名称
- 1、添加依赖
- <!--nacos配置管理依赖-->
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-bootstrap</artifactId>
- </dependency>
- 2、删除application.yml ,添加bootstrap.yml
- 注意:配置文件=prefix-active.file-extension 区分大小写
- spring:
- profiles:
- active: dev
- cloud:
- nacos:
- #配置中心
- config:
- server-addr: nacosIP:端口
- username: 账号
- password: 密码
- #前缀名称
- prefix: 配置文件前缀
- file-extension: yaml # 文件后缀名
- 3、动态刷新配置
- 配置动态刷新
- 配置类上加
- @RefreshScope
- 配置@bean上加
- @Primary
- @RefreshScope
- @Primary注解表示spring会优先IOC此DataSource,使得spring容器能够优先托管自定义的DataSource注入。
- Nacos配置自动刷新机制不支持动态刷新静态化配置,即配置项的值在启动时已经确定且不可更改。
- 例如
- spring.application.name
- server.port
本文归纳总结了docker安装nacos以及设置密码和配置中心的使用,希望对你有所帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。