🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁
🦄 博客首页——🐅🐾猫头虎的博客🎐
🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》 🐅 学会Golang语言,畅玩云原生,走遍大小厂~💐
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥
文章目录
- Nacos Docker 快速部署指南
- 摘要
- 1. Nacos Docker 项目介绍
- 2. 项目结构
- 3. 注意事项
- 4. 快速开始
- 5. 进阶使用
- 6. 常用属性配置
- 7. 高级配置
- 8. Nacos + Grafana + Prometheus
- 总结
- 参考资料
- 原创声明
Nacos Docker 快速部署指南
大家好,我是猫头虎博主,今天为大家带来关于 Nacos 的 Docker 部署教程。Nacos 是一个很好的服务发现、配置和服务管理平台。它可以帮助您轻松地构建云原生应用程序。下面,我将详细介绍如何使用 Docker 快速启动和部署 Nacos。
摘要
本文为读者详细介绍了如何使用 Docker 部署 Nacos 服务。我们从项目的基础结构开始,讨论了项目中各个目录的用途。随后,我们深入探讨了如何快速启动 Nacos 服务、进阶配置以及常见的属性设置。最后,我们还提供了一系列的命令和操作,以帮助读者更好地理解和使用 Nacos。
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 的详细步骤。通过这些步骤,即使是初学者也能够轻松上手。
参考资料
- Nacos 官方文档:Nacos Documentation
- Nacos Docker GitHub 项目:Nacos Docker GitHub
- Docker 官方文档:Docker Documentation
希望本文能为您的 Nacos 部署之旅提供帮助。
希望这篇文章能帮助到各位。如果有任何疑问或建议,欢迎留言。再次感谢大家,我们下次再见!
原创声明
======= ·
- 原创作者: 猫头虎
作者wx: [ libin9iOak ]
学习 | 复习 |
---|---|
✔ | ✔ |
本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。
作者保证信息真实可靠,但不对准确性和完整性承担责任。
未经许可,禁止商业用途。
如有疑问或建议,请联系作者。
感谢您的支持与尊重。
点击
下方名片
,加入IT技术核心学习团队。一起探索科技的未来,共同成长。