重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
Docker Compose
目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、建德網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
Docker Compose 將所管理的容器分為三層,工程(project),服務(wù)(service)以及容器(contaienr)。Docker Compose 運(yùn)行的目錄下的所有文件(docker-compose.yml, extends 文件或環(huán)境變量文件等)組成一個(gè)工程,若無(wú)特殊指定工程名即為當(dāng)前目錄名。一個(gè)工程當(dāng)中可包含多個(gè)服務(wù),每個(gè)服務(wù)中定義了容器運(yùn)行的鏡像,參數(shù),依賴。一個(gè)服務(wù)當(dāng)中可包括多個(gè)容器實(shí)例,Docker Compose 并沒(méi)有解決負(fù)載均衡的問(wèn)題,因此需要借助其他工具實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)及負(fù)載均衡。
安裝Docker Compose
獲取docker-compose-linux-x86_64并將其放置到/bin目錄下,并做軟鏈接和加可執(zhí)行權(quán)限
chmod +x docker-compose-linux-x86_64 ln -s docker-compose-linux-x86_64 docker-compose
導(dǎo)入haproxy和nginx,方便后續(xù)的負(fù)載均衡測(cè)試
docker load -i haproxy docker load -i nginx
在/tmp/編寫compose配置文件
[root@foundation50 compose]#vim docker-compose.yml
在web1 httpd服務(wù)創(chuàng)建安裝httpd服務(wù)和啟動(dòng)httpd的文件
[root@foundation50 compose]#vim web1/Dockerfile FROM rhel7:v1 EXPOSE 80 RUN yum install -y httpd ADD index.html /var/www/html CMD ["/usr/sbin/httpd","-D","FOREGROUND"]
在haproxy里建立haproxy.cfg配置文件
查看
查看haproxy的統(tǒng)計(jì)信息
訪問(wèn)172.25.50.1
健康檢查
關(guān)閉web3
docker swarm
準(zhǔn)備三臺(tái)虛擬機(jī)
server1,server2,server3安裝docker并啟動(dòng)服務(wù)
需要在一個(gè)節(jié)點(diǎn)上運(yùn)行docker swarm init,然后在其他節(jié)點(diǎn)上運(yùn)行加入命令即可
[root@server1 ~]# docker swarm init [root@server2~]#docker swarm join \ >--tokenSWMTKN-1-51igcdpg4cbgaokq535qis01osel396of153sdlp8k0ljn0rou-2m9sltwkc4uq1vfmp79ous0e4 \ > 172.25.50.2:2377 This node joined a swarm as a worker.
在server1上查看節(jié)點(diǎn)狀態(tài)
前面已經(jīng)導(dǎo)入了nginx,再導(dǎo)入flsak到三臺(tái)機(jī)器
[root@server1 ~]# docker load -i flask.tar [root@server2 ~]# docker load -i flask.tar [root@server3 ~]# docker load -i flask.tar
為區(qū)分不同后端的負(fù)載均衡,用python寫的一個(gè)顯示主機(jī)名的語(yǔ)句,導(dǎo)入flask和os
打開flask鏡像,將demo.py腳本放到root下
提交
[root@server1 python]# docker commit vm1 python:demo
創(chuàng)建名為flask集群,并啟動(dòng)3個(gè)后端服務(wù)節(jié)點(diǎn),讀取python下的demo.py腳本
測(cè)試
[root@foundation50 docker]# for i in {1..10}:do curl -w "\n" http://172.25.50.1;done
因?yàn)槭侨_(tái)服務(wù)器,所以每三次完成一次輪詢,實(shí)現(xiàn)了負(fù)載均衡
Docker swarm可視化web監(jiān)控界面
導(dǎo)入鏡像并創(chuàng)建
[root@server1 ~]# docker load -i visualizer.tar [root@server1 ~]# docker service create --name=viz --publish=8080:8080/tcp --constrain=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock dockersamples/visualizer
查看監(jiān)控頁(yè)面
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。