如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程

在这里插入图片描述


博主猫头虎()带您 Go to New World✨
博客首页——猫头虎的博客
《面试题大全专栏》 文章图文并茂生动形象简单易学!欢迎大家来踩踩~
《IDEA开发秘籍专栏》 学会IDEA常用操作,工作效率翻倍~
《100天精通Golang(基础入门篇)》 学会Golang语言,畅玩云原生,走遍大小厂~

希望本文能够给您带来一定的帮助文章粗浅,敬请批评指正!


文章目录

  • Nacos Docker 快速部署指南
    • 摘要
    • 1. Nacos Docker 项目介绍
    • 2. 项目结构
    • 3. 注意事项
    • 4. 快速开始
    • 5. 进阶使用
    • 6. 常用属性配置
    • 7. 高级配置
    • 8. Nacos + Grafana + Prometheus
    • 总结
    • 参考资料
  • 原创声明

如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程_第1张图片

Nacos Docker 快速部署指南

大家好,我是猫头虎博主,今天为大家带来关于 Nacos 的 Docker 部署教程。Nacos 是一个很好的服务发现、配置和服务管理平台。它可以帮助您轻松地构建云原生应用程序。下面,我将详细介绍如何使用 Docker 快速启动和部署 Nacos。

摘要

本文为读者详细介绍了如何使用 Docker 部署 Nacos 服务。我们从项目的基础结构开始,讨论了项目中各个目录的用途。随后,我们深入探讨了如何快速启动 Nacos 服务、进阶配置以及常见的属性设置。最后,我们还提供了一系列的命令和操作,以帮助读者更好地理解和使用 Nacos。
如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程_第2张图片

1. Nacos Docker 项目介绍

这个项目包含了一个 Docker 镜像,旨在简化 Nacos 的部署过程。你可以通过以下命令直接拉取:

docker pull nacos/nacos-server

2. 项目结构

  • build:Docker 镜像的 Nacos 源代码
  • env:compose yaml 的环境变量文件
  • example:Nacos 服务器的 Docker compose 示例

3. 注意事项

  • 在最新的 nacos/nacos-server:latest 镜像之后,已经移除了数据库主从镜像。具体原因可以参考移除主从镜像配置。
  • 从 Nacos 1.3.1 版本开始,数据库存储已经升级到 8.0,但仍然是向后兼容的。
  • 如果您使用自定义数据库,请首次自行初始化数据库脚本。

4. 快速开始

只需一条命令,即可快速启动 Nacos:

docker run --name nacos-quick -e MODE=standalone -p 8849:8848 -d nacos/nacos-server:2.0.2

5. 进阶使用

  • 克隆项目:

    git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
    cd nacos-docker
    
  • 独立 Derby:

    docker-compose -f example/standalone-derby.yaml up
    
  • 独立 Mysql:

    # 使用 mysql 5.7
    docker-compose -f example/standalone-mysql-5.7.yaml up
    
    # 使用 mysql 8
    docker-compose -f example/standalone-mysql-8.yaml up
    
  • 集群:

    docker-compose -f example/cluster-hostname.yaml up 
    
  • 服务注册 & 服务发现:

    # 服务注册
    curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
    
    # 服务发现
    curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'
    
  • 发布 & 获取配置:

    # 发布配置
    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
    
    # 获取配置
    curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
    
  • 在浏览器中打开 Nacos 控制台:
    点击此处

6. 常用属性配置

为了方便大家快速查找和设置,我为大家整理了一个 Nacos 的常用属性配置表:

属性名 描述 选项
MODE 运行模式 cluster/standalone 默认为 cluster
NACOS_SERVERS Nacos 集群地址 eg. ip1:port1 ip2:port2 ip3:port3
PREFER_HOST_MODE 是否支持主机名 hostname/ip 默认为 ip
NACOS_APPLICATION_PORT Nacos 服务器端口 默认 8848
NACOS_SERVER_IP 当网络是多网络时的自定义 Nacos 服务器 IP
SPRING_DATASOURCE_PLATFORM 独立支持的数据库 mysql / 空 默认为空
MYSQL_SERVICE_HOST MySQL 主机
MYSQL_SERVICE_PORT MySQL 数据库端口 默认:3306
MYSQL_SERVICE_DB_NAME MySQL 数据库名
MYSQL_SERVICE_USER 数据库用户名
MYSQL_SERVICE_PASSWORD 数据库密码
MYSQL_DATABASE_NUM 表示数据库的数量 默认:1
MYSQL_SERVICE_DB_PARAM 数据库 URL 参数 默认:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
JVM_XMS -Xms 默认:1g
JVM_XMX -Xmx 默认:1g
JVM_XMN -Xmn 默认:512m
JVM_MS -XX:MetaspaceSize 默认:128m
JVM_MMS -XX:MaxMetaspaceSize 默认:320m
NACOS_DEBUG 启用远程调试 y/n 默认:n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled 默认:false
NACOS_AUTH_SYSTEM_TYPE 要使用的认证系统 默认:nacos
NACOS_AUTH_ENABLE 是否开启认证系统 默认:false
NACOS_AUTH_TOKEN_EXPIRE_SECONDS 令牌过期时间(秒) 默认:18000
NACOS_AUTH_TOKEN 默认令牌 默认:SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_CACHE_ENABLE 开启/关闭认证信息的缓存。开启此开关后,认证信息的更新将有15秒的延迟。 默认:false
MEMBER_LIST 使用配置文件或命令行参数设置集群列表 eg:192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
EMBEDDED_STORAGE 在没有 mysql 的集群模式下使用嵌入式存储 embedded 默认:none
NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE nacos.core.auth.enable.userAgentAuthWhite 默认:false
NACOS_AUTH_IDENTITY_KEY nacos.core.auth.server.identity.key 默认:serverIdentity
NACOS_AUTH_IDENTITY_VALUE nacos.core.auth.server.identity.value 默认:security
NACOS_SECURITY_IGNORE_URLS nacos.security.ignore.urls 默认:/,/error,//*.css,//.js,/**/.html,//*.map,//.svg,/**/.png,//*.ico,/console-fe/public/,/v1/auth/,/v1/console/health/,/actuator/,/v1/console/server/

这些属性可以帮助你更好地定制和配置你的 Nacos 服务。如果你有任何问题或需要进一步的解释,请随时告诉我。

7. 高级配置

如果上述属性配置列表不满足您的需求,您可以将 custom.properties 文件挂载到容器的 /home/nacos/init.d/ 目录中,其中可以配置 spring 属性,其优先级高于 application.properties 文件。参考示例:cluster-hostname.yaml

8. Nacos + Grafana + Prometheus

使用参考:Nacos 监控指南

注意:当 Grafana 创建一个新的数据源时,数据源地址必须是 http://prometheus:9090


总结

Nacos 是一个强大的服务发现、配置和服务管理平台,适合于构建云原生应用程序。通过 Docker,我们可以非常轻松地部署和使用 Nacos。本指南为读者提供了从拉取 Docker 镜像到完全部署 Nacos 的详细步骤。通过这些步骤,即使是初学者也能够轻松上手。

参考资料

  1. Nacos 官方文档:Nacos Documentation
  2. Nacos Docker GitHub 项目:Nacos Docker GitHub
  3. Docker 官方文档:Docker Documentation

希望本文能为您的 Nacos 部署之旅提供帮助。

希望这篇文章能帮助到各位。如果有任何疑问或建议,欢迎留言。再次感谢大家,我们下次再见!

原创声明

======= ·

  • 原创作者: 猫头虎

作者wx: [ libin9iOak ]

学习 复习

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

你可能感兴趣的:(#,Docker技术专栏,docker,容器,运维,微服务,服务发现,macos)