Docker部署Nacos

本文详细介绍了如何使用Docker拉取并启动Nacos2.2.1镜像,配置数据库连接,设置安全选项,以及将配置文件复制到服务器。

此篇文章使用的nacos为2.2.1版本

拉取Nacos镜像

docker pull nacos/nacos-server:v2.2.1

先将容器启动起来

docker run -d \
--name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e NACOS_SERVERS=192.168.1.100 \
-e NACOS_SERVER_IP=192.168.1.100 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.1.100 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_DATABASE_NUM=1 \
-e NACOS_AUTH_CACHE_ENABLE=enable \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacos \
--restart=always \
nacos/nacos-server:v2.2.1

将对应的容器内的文件拷贝到服务器上的/mydata/nacos路径下

docker cp nacos:/home/nacos/conf/ /mydata/nacos
docker cp nacos:/home/nacos/logs/ /mydata/nacos

进入vim /mydata/conf/application.properties
配置数据库

spring.datasource.platform=mysql
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
# 修改如下两个参数
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security

#生成大于32为秘钥修改
nacos.core.auth.plugin.nacos.token.secret.key=1CSAhO2hgec1OBfiAB3OGfavzdSxsy4bY

启动镜像

docker run -v /mydata/nacos/logs:/home/nacos/logs -v /mydata/nacos/conf:/home/nacos/conf --env PREFER_HOST_MODE=hostname --env MODE=standalone --env NACOS_AUTH_ENABLE=true -p 8848:8848 nacos/nacos-server:v2.2.1
### 使用 Docker 部署 Nacos 的最佳实践 #### 准备工作 为了顺利部署 Nacos,需确保已安装 DockerDocker Compose。对于 Linux 用户来说,还需确认内核版本不低于 3.10。 #### 获取镜像 拉取最新的 Nacos 官方镜像是启动服务的第一步: ```bash docker pull nacos/nacos-server:latest ``` 此命令会从 Docker Hub 下载最新版的 Nacos Server 镜像[^3]。 #### 单机模式快速启动 单节点测试环境可通过如下指令迅速搭建起来: ```bash docker run --name nacos -p 8848:8848 -e MODE=standalone nacos/nacos-server ``` 这条命令指定了端口映射以及以独立模式运行 Nacos 实例[^2]。 #### 多实例集群配置 生产环境中推荐采用多副本形式提高系统的稳定性和性能表现。创建 `docker-compose.yml` 文件来定义多个 Nacos 节点组成的集群结构: ```yaml version: '3' services: nacos1: image: nacos/nacos-server container_name: nacos1 ports: - "8848" environment: - PREFER_HOST_MODE=hostname - MODE=cluster - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=db - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=root - MYSQL_SERVICE_DB_NAME=nacos_config networks: - nacoshub_network networks: nacoshub_network: ``` 上述 YAML 片段展示了如何设置第一个 Nacos 成员,并连接到外部数据库存储持久化数据。 #### 数据库初始化脚本 当选用关系型数据库作为元数据中心时,应提前准备好 SQL 初始化语句文件,以便于导入表结构及相关初始记录。通常情况下,这些资源可以在项目 GitHub 页面找到对应的建表语句文档[^1]。 #### 启动应用 完成以上准备工作之后,执行下面的命令即可让整个分布式体系生效: ```bash docker-compose up -d ``` 这一步骤将会依据之前编写的组合描述自动下载缺失依赖项并依次激活各个组件服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值