前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程

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

作者头像
猫头虎
发布2024-04-09 12:32:58
4360
发布2024-04-09 12:32:58
举报

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

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

Nacos Docker 快速部署指南

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

摘要

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

1. Nacos Docker 项目介绍

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

代码语言:javascript
复制
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:

代码语言:javascript
复制
docker run --name nacos-quick -e MODE=standalone -p 8849:8848 -d nacos/nacos-server:2.0.2

5. 进阶使用

克隆项目:

代码语言:javascript
复制
git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

独立 Derby:

代码语言:javascript
复制
docker-compose -f example/standalone-derby.yaml up

独立 Mysql:

代码语言:javascript
复制
# 使用 mysql 5.7
docker-compose -f example/standalone-mysql-5.7.yaml up

# 使用 mysql 8
docker-compose -f example/standalone-mysql-8.yaml up

集群:

代码语言:javascript
复制
docker-compose -f example/cluster-hostname.yaml up 

服务注册 & 服务发现:

代码语言:javascript
复制
# 服务注册
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'

发布 & 获取配置:

代码语言:javascript
复制
# 发布配置
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 部署之旅提供帮助。

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

原创声明

======= ·

  • 原创作者: 猫头虎
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nacos Docker 快速部署指南
    • 摘要
      • 1. Nacos Docker 项目介绍
        • 2. 项目结构
          • 3. 注意事项
            • 4. 快速开始
              • 5. 进阶使用
                • 6. 常用属性配置
                  • 7. 高级配置
                    • 8. Nacos + Grafana + Prometheus
                      • 总结
                        • 参考资料
                        • 原创声明
                        相关产品与服务
                        容器服务
                        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                        http://www.vxiaotou.com