Docker - Nacos

博文目录

文章目录


说明

Docker Hub Nacos
GitHub Nacos
官网中文文档
官网英文文档 镜像环境变量
官网英文文档 单机部署

数据卷数据卷印射在容器内的路径
nacos.conf/home/nacos/conf
nacos.log/home/nacos/logs
容器内的路径说明
/home/nacos/conf/application.properties配置文件
/home/nacos/conf/nacos-logback.xml配置文件
/home/nacos/logs/nacos.log主程序日志文件

命令

# 当前 latest 版本为 2.4.0.1
docker pull nacos/nacos-server
docker network create network

先快速启动一次 Nacos, 以便生成 Volume nacos.conf 并在其中生成数据

docker run -d --name nacos -e MODE=standalone -v nacos.conf:/home/nacos/conf nacos/nacos-server:latest

然后执行 docker stop nacos 停止容器, 执行 docker rm nacos 删除容器

Nacos 的数据保存在数据库中, 可以选 Derby / MySQL, 这里用 MySQL, 需要提前执行数据库初始化脚本

Apache Derby 是一个开源的关系型数据库管理系统(RDBMS)。它是用 Java 编写的,支持嵌入式和客户端/服务器模式。Derby 设计轻量,易于嵌入到 Java 应用程序中,适用于小型应用和开发测试环境。它具有 SQL 支持、事务处理能力,并且可以与 Java 数据库连接(JDBC)兼容。

到 nacos.conf 中, 拿到初始化数据库的 SQL 文件 mysql-schema.sql, 在 MySQL 中新建 nacos 数据库并执行初始化脚本

到 nacos.conf 中, 修改配置文件 application.properties, 以下是有修改过的配置项

spring.sql.init.platform=mysql

db.num=1
# 我这里 domain/ip 写的是 mysql, 是因为我的 mysql 也是 docker 启动的, 且容器名称就是 mysql
# mysql 和 nacos 都加入了同一个网络, 容器间即可通过容器名称替代 domain/ip 来互相访问了
db.url.0=jdbc:mysql://mysql:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
db.user.0=root
db.password.0=Mrv587..

# 用于生成JWT令牌的密钥, JWT令牌用于登录控制台使用
# abcdefghijklmnopqrstuvwxyz-coder, 至少32位, 且用 Base64 编码
# 2.2.0.1 起无默认值, 启用鉴权后, 必须指定该配置, 不指定无法启动
nacos.core.auth.plugin.nacos.token.secret.key=YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXotY29kZXI=

# 开启鉴权功能后,服务端之间的请求也会受到鉴权系统的影响。
# 所有集群均需要配置相同的server.identity信息,否则可能导致服务端之间数据不一致或无法删除实例等问题。
nacos.core.auth.server.identity.key=nacos-key
nacos.core.auth.server.identity.value=nacos-value

Nacos 鉴权文档

通过 -e MODE=standalone 指定以单机方式启动, 通过 -e NACOS_AUTH_ENABLE=true 指定开启鉴权(默认未开启), 启动 Nacos 容器

docker run -d --name nacos --network network -p 8848:8848 -p 9848:9848 -e TZ=Asia/Shanghai -e MODE=standalone -e NACOS_AUTH_ENABLE=true -v nacos.conf:/home/nacos/conf -v nacos.log:/home/nacos/logs nacos/nacos-server:latest

访问 http://localhost:8848/nacos

初次访问时, 要求初始化默认用户名 nacos 的密码, 填写合适的密码即可, 会在 users 表中添加一条数据

# 查看日志
docker logs nacos
# 跟踪日志
docker logs -f nacos
docker logs --follow nacos
# 查看最后10条日志
docker logs --tail 10 nacos
# 查看最近10分钟的日志
docker logs --since 10m nacos
# 进入容器并执行 bash
docker exec -it nacos bash
# 退出容器
exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值