docker-compose部署nacos

10.3.3.1、10.3.3.2、10.3.3.3三台服务器,每台服务器一个节点,部署步骤都一样,配置文件需要改动

一、 重点注意事项:

1、Nacos版本一致

2、端口问题

二、Nacos部署

确定应用docker 网络模式

根据需要确定docker网络,我的自定义网络是 pd-net

1.创建nacos文件
mkdir -p /data/mre/nacos

cd /data/mre/nacos

vim  nacos_ip.env

#如果支持主机名可以使用hostname,否则使用ip,默认也是ip
PREFER_HOST_MODE=ip
MODE=cluster
#多网卡情况下,指定ip或网卡
NACOS_SERVER_IP=10.3.3.1
#集群中其它节点[ip1:port ip2:port ip3:port]
NACOS_SERVERS=10.3.3.2:8848 10.3.3.3:8848
#nacos的web端口,不写默认就是8848
NACOS_APPLICATION_PORT=8848
#数据源平台 仅支持mysql或不保存empty
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=mysql-ip			#mysql的ip
MYSQL_SERVICE_DB_NAME=nacos_config	#nacos库
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=nacos			#mysql用户
MYSQL_SERVICE_PASSWORD=nacos		#mysql密码
MYSQL_DATABASE_NUM=1
#JVM调优参数
JVM_XMS=2g
JVM_XMX=2g
JVM_XMN=2g
JVM_MS=128m
JVM_MMS=320m

vim docker-compose-nacos.yaml

version: "3"
services:
  nacos:
    hostname: nacos
    image: nacos/nacos-server:2.2.3
    container_name: nacos
    privileged: true
    volumes:
      - /data/logs/nacos:/home/nacos/logs

    ports:
    - "7848:7848"
    - "8848:8848"
    - "9848:9848"
    - "9555:9555"
    - "9849:9849"
    env_file:
    - /data/mre/nacos/nacos_ip.env
    restart: on-failure
    networks:
      - pd-net
networks:
  pd-net:
    external: true
2.docker-compose安装
# 下载 docker-compose 到 /usr/bin 目录下
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose

授权
chmod +x /usr/bin/docker-compose

3. Docker-compose启动命令:
docker-compose -p nacos -f docker-compose-nacos.yaml up -d
4.检查nacos容器是否启动
docker ps -a
5. 进入nacos容器查看conf/cluster.conf文件 确保有集群节点信息
docker exec -it 容器id bash 
vim conf/cluster.conf     //查看集群节点是否正确
修改yaml文件,重新应用

1.停止并删除容器

docker-compose -p nacos -f docker-compose-nacos.yaml down

2.重启服务

docker-compose -p nacos -f docker-compose-nacos.yaml up -d

三、nacos开启鉴权(其他两台同步)

2.2.2版本之前的Nacos默认存在登录页。2.2.2版本之后,未开启鉴权不存在存在登录页,访问地址直接进入naocs控制台。

# 进入容器内部
docker exec -it nacos bash

# 修改配置文件
vim conf/application.properties
在最后添加参数

nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789			# 默认key,需要修改
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example

退出重启容器,访问nacos地址 10.3.3.1:8848/nacos

### 使用 Docker Compose 部署 Nacos 的最佳实践 #### 准备工作 确保环境中已正确安装并配置好 DockerDocker Compose 工具[^3]。 #### 编写 `docker-compose.yml` 文件 创建一个新的 YAML 文件用于定义服务组合,推荐命名为 `docker-compose-nacos.yml` 或者类似的名称以便识别。以下是针对单机环境下的基本配置: ```yaml version: '3' services: nacos: image: nacos/nacos-server:${NACOS_VERSION} container_name: nacos environment: - MODE=standalone ports: - "8848:8848" volumes: - ./data:/home/nacos/data - ./logs:/home/nacos/logs ``` 此配置指定了要使用的镜像版本、容器名以及端口映射等参数,并挂载了数据卷来持久化存储重要信息[^1]。 #### 启动服务 执行命令启动 Nacos 实例: ```bash docker-compose -p nacos -f docker-compose-nacos.yml up -d ``` 该指令会以前台模式运行指定的服务项目,在后台持续监听状态变化;同时设置了自定义前缀 `-p nacos` 来区分不同项目的资源命名空间。 #### 开启鉴权功能 为了提高安全性,建议启用内置的身份验证机制。可以通过修改上述YAML文件中的环境变量部分实现这一点: ```yaml environment: ... - SPRING_SECURITY_USER_NAME=admin - SPRING_SECURITY_USER_PASSWORD=admin123 ``` 这将在所有节点间同步应用相同的用户名密码设置。 #### 更新与维护 当需要更新到最新版或其他特定版本时,只需调整 `${NACOS_VERSION}` 占位符对应的值即可完成平滑升级操作。对于多实例集群场景,则需额外考虑网络通信等因素的影响[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值