Docker 部署 Nacos v2.3.2 版本

Github

官网

文档

Nacos 生态图

在这里插入图片描述

Nacos Docker

# 最新版镜像
docker pull nacos/nacos-server
docker pull nacos/nacos-server:v2.3.2

注: 国内网络原因无法下载镜像,nacos-server 镜像文件下载链接 https://pan.baidu.com/s/1O35cPbx6AHWUJL1v5-REzA?pwd=yjsv 提取码: yjsv

  • 导入 nacos-server 镜像
docker load -i nacos-server-v2.3.2.tar
  • 创建缩主机目录
mkdir nacos && cd nacos
mkdir data logs
docker run --name nacos \
-e MODE=standalone \
-p 8848:8848 \
-d nacos/nacos-server:v2.3.2
  • 复制容器内 conf 目录到缩主机
cd docker/nacos/
docker cp nacos:/home/nacos/conf ./

docker-compose.yml

services:
  nacos:
    image: nacos/nacos-server:v2.3.2
    container_name: nacos
    restart: always
    ports:
      - "8848:8848"
      - "9848:9848"
    environment:
      MODE: standalone
      # 开启鉴权功能
      NACOS_AUTH_ENABLE: true
      # 设置Token的密钥,需大于32位字符串并转义成Base64编码
      NACOS_AUTH_TOKEN: "YWtkODkzNzY0ODk1Mzg3NDk4amtkaWV3a3Bsb2lkdWU="
      # 登录账号
      NACOS_AUTH_IDENTITY_KEY: "admin"
      # 登录密码
      NACOS_AUTH_IDENTITY_VALUE: "pwd123"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./nacos/conf:/home/nacos/conf
      - ./nacos/data:/home/nacos/data
      - ./nacos/logs:/home/nacos/logs
docker-compose up -d nacos

在这里插入图片描述

注意: 访问缩主机IP地址,而非 127.0.0.1 地址。以上示例并未配置 MySQL 数据库,配置数据保存在 data/config-data 目录下。

在这里插入图片描述

注意: 开启鉴权功能后就需要验证登录账号与密码(admin/pwd123)。

application.properties

conf/application.properties 配置连接 MySQL 数据库

db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://mysql:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
db.user.0=nacos
db.password.0=nacos
### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
  • admin用户添加角色,解决 “命名空间的访问权限!” 报错问题。
INSERT INTO roles (username, role) VALUES ('admin', 'ROLE_ADMIN');

Spring Boot 配置文件

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.0.164:8848
        username: admin
        password: pwd123
      config:
        server-addr: 192.168.0.164:8848
        username: admin
        password: pwd123
        file-extension: yml
        shared-configs:
          - application-${
    
    spring.profiles.active}.${
    
    spring.cloud.nacos.config.file-extension}

Nacos 官方示例

# Clone 项目
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

在这里插入图片描述

  • 单机模式
# 单机模式 Derby
docker-compose -f example/standalone-derby.yaml up
# 使用 MySQL5.7
docker-compose -f example/standalone-mysql-5.7.yaml up
# 使用 MySQL8
docker-compose -f example/standalone-mysql-8.yaml up
  • 功能测试
# 服务注册
curl -X POST '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/instance/list?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"

猜你喜欢

转载自blog.csdn.net/weixin_42607526/article/details/140106679