当前位置:   article > 正文

docker部署nacos及配置、使用_docker 部署nacos

docker 部署nacos

目录

前言

一、单体部署

二、集群部署

2.1、启动服务

2.2、使用nginx实现负载

三、配置

3.1、设置鉴权

3.2、配置中心使用详解

总结

前言

最近在做nacos配置中心的功能,之前公司只用了注册中心,在这里做下总结。

一、单体部署

  1. docker run -itd --name 容器名称 \
  2. --network=定义网络 \
  3. --ip 定义网络IP \
  4. -p 7848:7848 \
  5. -p 8848:8848 \
  6. -p 9848:9848 \
  7. -p 9849:9849 \
  8. --restart=always \
  9. -e TZ=Asia/Shanghai \
  10. -e PREFER_HOST_MODE=本机IP \
  11. -e NACOS_SERVER_IP=本机IP \
  12. -e MODE=standalone \
  13. -e SPRING_DATASOURCE_PLATFORM=mysql \
  14. -e MYSQL_SERVICE_HOST=数据库网络IP\
  15. -e MYSQL_SERVICE_PORT=3306 \
  16. -e MYSQL_SERVICE_DB_NAME=nacos数据库名称 \
  17. -e MYSQL_SERVICE_USER=数据库用户 \
  18. -e MYSQL_SERVICE_PASSWORD=数据库密码 \
  19. nacos/nacos-server:v2.2.0

二、集群部署

2.1、启动服务

集群应该最少3台机器

  1. docker run -itd --name 容器名称 \
  2. --network=定义网络 \
  3. --ip 定义网络IP \
  4. -p 7848:7848 \
  5. -p 8848:8848 \
  6. -p 9848:9848 \
  7. -p 9849:9849 \
  8. --restart=always \
  9. -e TZ=Asia/Shanghai \
  10. -e PREFER_HOST_MODE=本机IP \
  11. -e NACOS_SERVER_IP=本机IP \
  12. -e MODE=cluster \
  13. -e NACOS_SERVERS="集群所有主机:端口空格分隔" \
  14. -e SPRING_DATASOURCE_PLATFORM=mysql \
  15. -e MYSQL_SERVICE_HOST=数据库网络IP\
  16. -e MYSQL_SERVICE_PORT=3306 \
  17. -e MYSQL_SERVICE_DB_NAME=nacos数据库名称 \
  18. -e MYSQL_SERVICE_USER=数据库用户 \
  19. -e MYSQL_SERVICE_PASSWORD=数据库密码 \
  20. nacos/nacos-server:v2.2.0

2.2、使用nginx实现负载

  1. 1、启动nginx容器
  2. docker run -itd --name nacos-nginx \
  3. --network=定义网络 --ip 定义网络IP -p 10010:80 \
  4. -v /usr/local/nacos-nginx/conf.d:/etc/nginx/conf.d \
  5. -v /usr/local/nacos-nginx/html:/etc/nginx/html \
  6. -v /usr/local/nacos-nginx/log:/usr/log/nginx \
  7. nginx
  8. 2、修改nginx配置文件
  9. cd /usr/local/nacos-nginx/conf.d
  10. vim defalut.conf
  11. 填写以下内容:
  12. upstream nacosList {
  13. server 结点1IP:端口 weight=1;
  14. server 结点2IP:端口 weight=1;
  15. server 结点3IP:端口 weight=1;
  16. }
  17. server {
  18. listen 80;
  19. server_name localhost;
  20. location / {
  21. root /etc/nginx/html/;
  22. index index.html index.htm;
  23. }
  24. error_page 500 502 503 504 /50x.html;
  25. location = /50x.html {
  26. root /usr/share/nginx/html;
  27. }
  28. location /nacos {
  29. proxy_pass http://nacosList/nacos;
  30. }
  31. }
  32. 3、重启容器
  33. docker restart nacos-nginx

三、配置

导入数据库略,默认账号密码为nacos/nacos

3.1、设置鉴权

  1. 修改/usr/local/nacos/conf/application.properties
  2. 1.开启鉴权
  3. 修改 nacos.core.auth.enabledtrue
  4. nacos.core.auth.enabled=true
  5. 2.自定义秘钥
  6. nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
  7. 3.开启服务身份识别功能-可选
  8. 服务间通信
  9. nacos.core.auth.server.identity.key=example
  10. nacos.core.auth.server.identity.value=example
  11. 所有集群均需要配置相同的server.identity信息
  12. 重启nacos
  13. docker restart nacos容器名称

3.2、配置中心使用详解

  1. 1、添加依赖
  2. <!--nacos配置管理依赖-->
  3. <dependency>
  4. <groupId>com.alibaba.cloud</groupId>
  5. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.springframework.cloud</groupId>
  9. <artifactId>spring-cloud-starter-bootstrap</artifactId>
  10. </dependency>
  1. 2、删除application.yml ,添加bootstrap.yml
  2. 注意:配置文件=prefix-active.file-extension 区分大小写
  3. spring:
  4. profiles:
  5. active: dev
  6. cloud:
  7. nacos:
  8. #配置中心
  9. config:
  10. server-addr: nacosIP:端口
  11. username: 账号
  12. password: 密码
  13. #前缀名称
  14. prefix: 配置文件前缀
  15. file-extension: yaml # 文件后缀名
  1. 3、动态刷新配置
  2. 配置动态刷新
  3. 配置类上加
  4. @RefreshScope
  5. 配置@bean上加
  6. @Primary
  7. @RefreshScope
  8. @Primary注解表示spring会优先IOCDataSource,使得spring容器能够优先托管自定义的DataSource注入。
  9. Nacos配置自动刷新机制不支持动态刷新静态化配置,即配置项的值在启动时已经确定且不可更改。
  10. 例如
  11. spring.application.name
  12. server.port

总结

本文归纳总结了docker安装nacos以及设置密码和配置中心的使用,希望对你有所帮助。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/886373
推荐阅读
相关标签
  

闽ICP备14008679号