前言
如果我想通過域名訪問怎么辦,而且這三臺(tái)主機(jī)都有服務(wù)。關(guān)注、轉(zhuǎn)發(fā)、評(píng)論頭條號(hào)每天分享java知識(shí),私信回復(fù)“555”贈(zèng)送一些Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式資料。
負(fù)載均衡
之前講理論的時(shí)候說過負(fù)載均衡,對(duì)每個(gè)服務(wù)在每臺(tái)主機(jī)上都是有負(fù)載均衡的,來進(jìn)行輪詢,每臺(tái)主機(jī)server01,server02,server03,分別去訪問他們的8080端口,去搭建一個(gè)負(fù)載均衡,可以用nginx或者apache,這里使用nginx的方式,畢竟之前使用過nginx。拉取部署完,需要20分鐘,外網(wǎng)確實(shí)很慢。
拉取nginx
docker pull nginx
編寫一個(gè)nginx配置掛載進(jìn)去
vi nginx.conf
配置文件
upstream idig88 {
server 192.168.66.101:8080;
server 192.168.66.102:8080;
server 192.168.66.103:8080;
}
server {
listen 80;
server_name www.idig88.com;
location / {
proxy_pass http://idig88;
}
}
啟動(dòng)命令
docker run -idt -p 80:80 -v `pwd`/nginx.conf:/etc/nginx/conf.d/default.conf nginx
配置一個(gè)host文件,在主機(jī)上 不是server01 server02 server03
sudu vi /etc/hosts
登錄試試
微服務(wù)擴(kuò)縮容
docker service scale ms_gateway-zuul=3
docker service ps ms-gateway-zuul
升級(jí)某個(gè)微服務(wù)
docker service update ms_course-edge-service --limit-cpu 0.5
docker service inspect ms_course-edge-service
總結(jié)
以下各節(jié)點(diǎn)常規(guī)操作命令,比較簡單,就不解釋了
#取消manager
docker node demote [NODE]
docker node inspect [NODE]
docker node ls
# 升級(jí)成manager
docker node promote [NODE]
docker node ps [NODE]
docker node rm [NODE]
docker node update [OPTIONS] NODE
yml文件這個(gè)很復(fù)雜,我建議看看官方的文檔更實(shí)際一些。
PS:有詳細(xì)看看官網(wǎng)的文檔,里面有非常多樣化的配置,我相信基本可以滿足大家的需求。到這樣docker swarm 也就學(xué)完了,相信有個(gè)整體的認(rèn)識(shí)吧。另外要說下有2個(gè)UI管理docker swarm的工具Portainer和Shipyard。下次開始k8s!
在此我向大家推薦一個(gè)架構(gòu)學(xué)習(xí)交流群。交流學(xué)習(xí)群號(hào):938837867 暗號(hào):555 里面會(huì)分享一些資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務(wù)架構(gòu)的原理,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備