Nacos Docker 部署指南
前言
Nacos Server的docker鏡像的build源碼,以及Nacos server 在Docker單機(jī)運(yùn)行部署案例。
Naocs項(xiàng)目目錄
|--build:nacos 鏡像制作的源碼
|--env: docker compose 環(huán)境變量文件
|--example: docker-compose 編排例子
運(yùn)行環(huán)境
Centos 8.0
Docker
MYSQL 8.0
配置
4.1 克隆項(xiàng)目
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
? 一般默認(rèn)即可,不建議進(jìn)行修改。
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
? 一般默認(rèn)即可,不建議進(jìn)行修改
vim nacos-docker-master/env/nacos-standlone-mysql.env
PREFER_HOST_MODE=hostname # 是否支持主機(jī)名主機(jī)名/ IP默認(rèn)IP
MODE=standalone # 系統(tǒng)啟動(dòng)方式: 集群/單機(jī)
SPRING_DATASOURCE_PLATFORM=mysql # 獨(dú)立支持mysql /mysql /空默認(rèn)為空
MYSQL_SERVICE_HOST=mysql # mysql主機(jī)
MYSQL_SERVICE_DB_NAME=nacos_devtest # 數(shù)據(jù)庫名稱
MYSQL_SERVICE_PORT=3306 # mysql數(shù)據(jù)庫端口
MYSQL_SERVICE_USER=nacos # 數(shù)據(jù)庫的用戶名
MYSQL_SERVICE_PASSWORD=nacos # 數(shù)據(jù)庫密碼
4.4 創(chuàng)建Docker 網(wǎng)絡(luò)及編輯standalone-mysql-8.yaml
? 創(chuàng)建容器間網(wǎng)絡(luò),方便兩個(gè)容器之間進(jìn)行通信
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 中 相對(duì)應(yīng)掛載目錄
volumes:
- /vdb/data/nacos/plugins/mysql/:/home/nacos/plugins/mysql/ # 4.2 中相對(duì)應(yīng)掛載目錄掛載目錄
- /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: # 依賴啟動(dòng)
- mysql
restart: always
networks: # 使用下方定義網(wǎng)絡(luò)
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 中相對(duì)應(yīng)掛載目錄掛載目錄
volumes:
- /vdb/data/mysql:/var/lib/mysql # 掛載mysql日志以及db文件
ports:
- "3306:3306"
restart: always
networks: # 使用下方定義網(wǎng)絡(luò)
net:
ipv4_address: 172.16.238.11
networks: # 自定義網(wǎng)絡(luò)
net:
external: true
使用 Nacos
5.1 Docker Compose 編譯運(yùn)行
docker-compose -f example/standalone-mysql-8.yaml up # 加入 -d 后臺(tái)啟動(dòng)
? 出現(xiàn)日志說明成功啟動(dòng)。
5.2 訪問 Nacos 并使用
- ? 訪問
curl 127.0.0.1:8848/nacos # 不出現(xiàn)報(bào)錯(cuò)現(xiàn)象說明已可以正常訪問
- ? 服務(wù)注冊(cè)
curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
- ? 服務(wù)發(fā)現(xiàn)
shell curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'
- 在瀏覽器中打開Nacos 控制臺(tái)
link:http://127.0.0.1:8848/nacos/
結(jié)束語
- 其中與Nacos 配合使用的是Dubbo。
- 在安裝過程中如有不懂,可聯(lián)系作者。