本章主要內容:
一個web應用前後端分離的微服務(serverWork1+serverWork2 +web),+mysql,+redis
說明:serverWork1和serverWork2會互相調用,web會調用調用serverWork1和serverWork2;serverWork1,serverWork2 ,web,mysql,redis分別在不同的docker鏡像;
使用docker swarm 部署,實現負載均衡。
使用兩臺機器:192.168.1.206(管理機),192.168.1.207(節點機)
廢話不多說開始吧。
1.安裝docker
apt-get update
apt-get install docker
apt-get install docker.io
2.下載鏡像
docker pull mysql
docker pull redis
docker pull serverWork1的地址
docker pull serverWork2的地址
docker pull web的地址
搭建Docker Swarm集羣
安裝Swarm
sudo docker pull swarm
在使用Swarm進行集羣管理之前,需要先把準備加入集羣的所有的節點的docker deamon的監聽端口修改爲0.0.0.0:2375,可以直接使用 sudo docker –H tcp://0.0.0.0:2375 &命令,也可以在配置文件中修改
sudo vim /etc/default/docker
在文件的最後面添加下面這句
DOCKER_OPTS="-H 0.0.0.0:2375 –H unix:///var/run/docker.sock"
sudo vim /lib/systemd/system/docker.service
修改ExecStart項爲如下:
ExecStart=/usr/bin/docker daemon -H 0.0.0.0:2375 -H unix:///var/run/docker.sock
重新載入配置,使修改生效。
$sudo systemctl daemon-reload
重啓docker。
$sudo systemctl restart docker
查看是否修改成功。
$ps aux | grep "docker"
出現如下信息,表明修改成功。
root 2854 2.8 0.1 561364 38104 ? Ssl 19:15 0:00 /usr/bin/docker daemon -H 0.0.0.0:2375 -H unix:///var/run/docker.sock
創建集羣
使用206作爲管理節點
docker swarm init --advertise-addr 192.168.1.206
docker swarm join \
--token SWMTKN-1-1xobq0blg2u20odrqseybgw3nh6vka8f8gvczxxipzty197ep1-dsijidy25c1yzzacwn7wmx1gn \
192.168.1.206:2377
將上面紅色的語句貼到所有的節點服務器中
使用:docker node ls 列出所有節點如果有兩臺你就成功了。
服務啓動:
創建網絡
docker network create --driver overlay --subnet 192.168.1.0/24 --opt encrypted mynetworker
查看network 信息
docker network inspect mynetworker
啓動數據庫
docker service create --replicas 1 --network mynetworker -p 3306:3306 -e MYSQL_ROOT_PASSWORD='zy123!@#' --name rds mysql:latest docker-entrypoint.sh --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
啓動redis
docker service create --replicas 1 --network mynetworker -p 6379:6379 --name kvs redis:latest
MySQL和redis不建議使用以上啓動方式,建議使用docker run
啓動後端(每個服務都啓動兩個副本)
docker service create --replicas 2 --network mynetworker -p 8080 --name serverWork1 serverWork1
docker service create --replicas 2 --network mynetworker -p 8080 --name serverWork2 serverWork2
啓動前端
docker service create --replicas 1 --network mynetworker -p 8001:80 --name web web
至此docker swarm 集羣服務就搭建好了
可以分別在206和207上使用 docker ps 查看容器分佈情況
Docker Swarm 集羣 微服務部署
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java项目面试实操 提升大厂面试成功率
wy53780
2020-04-23 14:14:04
玩转算法系列--图论精讲 面试升职必备(Java版)
wy53780
2020-04-23 14:03:23
玩转Java并发工具,精通JUC,成为并发多面手
wy53780
2020-04-23 13:56:08
线程八大核心+Java并发底层原理精讲(Java并发核心知识体系精讲)
wy53780
2020-04-23 13:55:55
Java通用型支付+电商平台双系统实战
wy53780
2020-04-23 13:54:42
【躍遷之路】【734天】程序員高效學習方法論探索系列(實驗階段491-2019.2.24)
Wall_Breaker
2019-02-24 23:25:10
Java是怎麼運行的?
勤思
2019-02-24 22:52:36
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
bzz節點搭建方案哪種好?Swarm bzz礦機節點如何選擇?
therfigeln
2021-06-17 13:37:21
SWARM挖礦空投階段,如何選擇配置?
therfigeln
2021-06-11 11:46:56
Swarm挖礦方式是什麼?Swarm挖礦前景怎麼樣?
therfigeln
2021-06-10 11:30:40
如何搭建Swarm BZZ節點?Swarm BZZ挖礦原理?
therfigeln
2021-06-09 10:59:58
最近大火的swarm項目是什麼?如何挖礦BZZ?
therfigeln
2021-06-08 13:43:18