Nacos Docker 部署指南

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é)束語

  1. 其中與Nacos 配合使用的是Dubbo。
  2. 在安裝過程中如有不懂,可聯(lián)系作者。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容