Nacos Docker 部署指南
前言
Nacos Server的docker镜像的build源码,以及Nacos server 在Docker单机运行部署案例。
Naocs项目目录
|--build:nacos 镜像制作的源码
|--env: docker compose 环境变量文件
|--example: docker-compose 编排例子
运行环境
Centos 8.0
Docker
MYSQL 8.0
配置
4.1 克隆项目
git clone --depth 1 https://github.com/nacos-group/nacos-docker.git
cd nacos-docker-master/example
4.2 拷贝文件Docker指定挂载目录
1,将 nacos-docker-master/env/nacos-standlone-mysql.env 文件 拷贝至docker 需要挂载的目录
3,将 nacos-docker-master/env/mysql.env 文件 拷贝至docker 需要挂载的目录
4,将 nacos-docker-master/example/init.d 文件夹 拷贝至docker 需要挂载的目录
5,将 nacos-docker-master/example/plugins 文件夹 拷贝至docker 需要挂载的目录
4.2 修改 mysql.env
一般默认即可,不建议进行修改。
vim nacos-docker-master/env/mysql.env
MYSQL_ROOT_PASSWORD=root # root 密码
MYSQL_DATABASE=nacos_devtest # nacos 表
MYSQL_USER=nacos # nacos 用户
4.3 修改 nacos-standlone-mysql.env
一般默认即可,不建议进行修改
vim nacos-docker-master/env/nacos-standlone-mysql.env
PREFER_HOST_MODE=hostname # 是否支持主机名主机名/ IP默认IP
MODE=standalone # 系统启动方式: 集群/单机
SPRING_DATASOURCE_PLATFORM=mysql # 独立支持mysql /mysql /空默认为空
MYSQL_SERVICE_HOST=mysql # mysql主机
MYSQL_SERVICE_DB_NAME=nacos_devtest # 数据库名称
MYSQL_SERVICE_PORT=3306 # mysql数据库端口
MYSQL_SERVICE_USER=nacos # 数据库的用户名
MYSQL_SERVICE_PASSWORD=nacos # 数据库密码
4.4 创建Docker 网络及编辑standalone-mysql-8.yaml
创建容器间网络,方便两个容器之间进行通信
docker network create -d bridge --subnet 172.16.238.0/16 net
编辑 standalone-mysql-8.yaml
vim nacos-docker-master/example/standalone-mysql-8.yaml
version: "2"
services:
nacos:
image: nacos/nacos-server:latest
container_name: nacos
env_file:
- /vdb/data/nacos/env/nacos-standlone-mysql.env # 4.2 中 相对应挂载目录
volumes:
- /vdb/data/nacos/plugins/mysql/:/home/nacos/plugins/mysql/ # 4.2 中相对应挂载目录挂载目录
- /vdb/data/nacos/standalone-logs/:/home/nacos/logs # nacos logs 挂载
- /vdb/data/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties # 初始化
ports:
- "8848:8848"
- "9555:9555"
depends_on: # 依赖启动
- mysql
restart: always
networks: # 使用下方定义网络
net:
ipv4_address: 172.16.238.12
mysql:
container_name: mysql-8.0
image: nacos/nacos-mysql:8.0.16
env_file:
- /vdb/data/nacos/env/mysql.env # 4.2 中相对应挂载目录挂载目录
volumes:
- /vdb/data/mysql:/var/lib/mysql # 挂载mysql日志以及db文件
ports:
- "3306:3306"
restart: always
networks: # 使用下方定义网络
net:
ipv4_address: 172.16.238.11
networks: # 自定义网络
net:
external: true
使用 Nacos
5.1 Docker Compose 编译运行
docker-compose -f example/standalone-mysql-8.yaml up # 加入 -d 后台启动
出现日志说明成功启动。
5.2 访问 Nacos 并使用
- 访问
curl 127.0.0.1:8848/nacos # 不出现报错现象说明已可以正常访问
- 服务注册
curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
- 服务发现
shell curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'
- 在浏览器中打开Nacos 控制台
link:http://127.0.0.1:8848/nacos/
结束语
- 其中与Nacos 配合使用的是Dubbo。
- 在安装过程中如有不懂,可联系作者。