基於docker swarmd的Nacos集部署

2021-10-24 18:26:05 字數 3213 閱讀 6626

雲伺服器上docker swarm 搭建nacos集群

此次nacos部署是依賴docker swarm集群的,3臺雲伺服器,其中一台安裝mysql作為外接資料庫。部署前需要將swarm集群,選擇其中一台伺服器作為master。

建立名為nacos_config資料庫。

create database nacos_config #建立資料庫

create user 『nacos』@』%』 identified by 『123456』; #建立使用者並提供許可權

use nacos_config #切換資料庫

nacos-mysql.sql語句(

在docker swarm master主機上檢視node資訊,nacos屬於有狀態服務,安裝節點狀態必須處於atctive

二、nacos部署

nacos部署在3臺伺服器上,ip:10.100.100.105,10.100.100.103,100.100.100.101,將8848、8848、8848預設三個埠分別對映到三個docker容器,自己根據實際情況自行調整

nacos映象拉取:docker pull nacos/nacos-server:latest

檢視nacos映象:docker images

啟動容器:啟動環境引數代表含義請參考nacos/nacos-server

節點nacos1:

docker run -d \

> -e prefer_host_mode=hostname \

> -e mode=cluster \

> -e nacos_server_port=8848 \

> -e nacos_server=

"10.100.100.105:8848 10.100.100.103:8848 10.100.100.101:8848" \

> -e spring_datasource_platform=mysql \

> -e mysql_service_host=10.100.100.105 \

> -e mysql_service_port=3306 \

> -e mysql_service_user=root \

> -e mysql_service_password=123456 \

> -e mysql_service_db_name=nacos_config \

> -e nacos_server_ip=10.100.100.105 \

> -p 8848:8848 \

> --name nacos1 \

> nacos/nacos-server:latest

檢視nacos是否啟動:docker  ps
此時nacos已經處於up狀態,但是訪問其web介面出現問題,檢視nacos啟動日誌:

docker logs --tail="100』 d7eeabcfbdbf

發現資料庫連線失敗,停掉docker再重啟後檢視日誌,成功啟動。

nacos2:

docker run -d 

> -e prefer_host_mode=hostname \

> -e mode=cluster \

> -e nacos_server_port=8848 \

> -e nacos_server=

"10.100.100.105:8848 10.100.100.103:8848 10.100.100.101:8848" \

> -e spring_datasource_platform=mysql \

> -e mysql_service_host=10.100.100.105 \

> -e mysql_service_port=3306 \

> -e mysql_service_user=root \

> -e mysql_service_password=123456 \

> -e mysql_service_db_name=nacos_config \

> -e nacos_server_ip=10.100.100.103 \

> -p 8848:8848 \

> --name nacos2 \

> nacos/nacos-server:latest

nacos3:

docker run -d 

> -e prefer_host_mode=hostname \

> -e mode=cluster \

> -e nacos_server_port=8848 \

> -e nacos_server=

"10.100.100.105:8848 10.100.100.103:8848 10.100.100.101:8848" \

> -e spring_datasource_platform=mysql \

> -e mysql_service_host=10.100.100.105 \

> -e mysql_service_port=3306 \

> -e mysql_service_user=root \

> -e mysql_service_password=123456 \

> -e mysql_service_db_name=nacos_config \

> -e nacos_server_ip=10.100.100.101 \

> -p 8848:8848 \

> --name nacos3 \

> nacos/nacos-server:latest

在nacos2和nacos3部署時,啟動docker語句只需更改容器名和nacos_server_ip,其他按自己配置即可。全部配置成功就可以通過8080埠訪問nacos,http://ip:8080/nacos。

基於IP,基於port和基於網域名稱的三種

1 基於相同ip不同port的虛擬主機 2 將listen欄位改為 listen 80 listen 8888 以上設定表示使用80以及8888埠 3 更改虛擬主機部分為 documentroot var www html website1 documentroot var www html web...

基於函式的索引 建立基於函式的索引

基於函式的索引 1基於函式的索引是常規的b樹索引。2該索引存放的資料是由表中的資料應用函式後得到的,而不是直接存放表中的資料本身。3如果查詢條件包含與索引相同的函式,就可以使用基於函式的索引,提高查詢速度 舉例 測試表 create table student2 sno varchar2 10 pr...

基於Token的認證和基於宣告的標識

openid解決跨站點的認證問題,oauth解決跨站點的授權問題。認證和授權是密不可分的。而openid和oauth這兩套協議出自兩個不同的組織,協議上有相似和重合的之處,所以想將二者整合有些難度。好在openid connect作為openid的下一版本,在oauth 2.0的協議基礎上進行擴充套...