Docker Swarm 集羣 微服務部署

本章主要內容:
一個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 查看容器分佈情況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章