最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Docker-compose和Docker-consul的配置部署

本文以Docker-compose和Docker-consu為例,為大家分析Docker原生編排工具的安裝配置方法,閱讀完整文相信大家對原生編排工具的安裝配置方法有了一定的認識。

目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、大石橋網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

Docker原生編排工具

一、docker-compose

概念

Compose默認管理對象是項目,通過子命令對項目中的一組容器進行生命周期的管理。

Compose項目由Python實現(xiàn),實現(xiàn)上調(diào)用了Docker服務(wù)提供的API來對容器進行管理。

配置步驟

1、安裝Docker-ce引擎

比較簡單不在贅述,直接上shell腳本

#!/bin/bash
#Docker引擎部署
#安裝依賴包
yum install yum-utils device-mapper-persistent-data lvm2 -y

#設(shè)置阿里云鏡像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安裝Docker-ce
yum install -y docker-ce

#關(guān)閉防火墻及增強型安全功能
systemctl stop firewalld.service
setenforce 0

#啟動Docker并設(shè)置為開機自啟動
systemctl start docker.service
systemctl enable docker.service

#網(wǎng)絡(luò)優(yōu)化
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
service network restart 
systemctl restart docker
2、部署docker-compose
#下載安裝compose
curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

#提權(quán)方便調(diào)用
chmod +x /usr/local/bin/docker-compose

#建立compose站點
mkdir /root/docker_compose
3、compose練習(xí)實例

Docker Compose配置常用字段

字段描述
build dockerfile context指定Dockerfile文件名構(gòu)建鏡像上下文路徑
image指定鏡像
command執(zhí)行命令,覆蓋默認命令
container name指定容器名稱,由于容器名稱是唯一的
deploy指定部署和運行服務(wù)相關(guān)配置,只能在Swarm模式使用
environment添加環(huán)境變量
networks加入網(wǎng)絡(luò)
ports暴露容器端口,與-p相同,但端口不能低于60
volumes掛載宿主機路徑或命令卷
restart重啟策略,默認no,always, no-failure,unless-stoped
hostname容器主機名

Docker Compose常用命令

字段描述
build重新構(gòu)建服務(wù)
ps列出容器
up創(chuàng)建和啟動容器
exec在容器里面執(zhí)行命令
scale指定一個服務(wù)容器啟動數(shù)量
top顯示容器進程
logs查看容器輸出的日志文件
down刪除容器、網(wǎng)絡(luò)、數(shù)據(jù)卷和鏡像
stop/start/restart停止/啟動/重啟服務(wù)

集合部署nginx+Tomcat

#建立compose文件
vim /root/docker-compose/docker-compose.yml
#compose版本號,有1、2、3
version: '3.3'
#服務(wù)名稱
services:
  nginx:
#主機名
    hostname: nginx
#建立鏡像需要的目錄、dockerfile腳本名
    build:
      context: ./nginx
      dockerfile: Dockerfile
#映射宿主機端口
    ports:
     - 1216:80
     - 1200:443
#工作組:同一集群一個名字
    networks:
     - test
#建立數(shù)據(jù)集的目錄
    volumes:
     - ./wwwroot:/usr/local/nginx/html
  tomcat:
    hostname: tomcat
    build:
      context: ./tomcat
      dockerfile: Dockerfile
    ports:
     - 888:8080
    networks:
     - test
networks:
  test:

#需要建立新鏡像的服務(wù)需要放在compose工作站點中
[root@localhost docker_compose]# ls
docker-compose.yml  nginx  tomcat

#建立容器
“-f”  指定compose文件
docker-compose -f docker-compose.yml up -d

二、docker-consul集群+template

實驗準備
名稱角色IP地址預(yù)裝環(huán)境
centos7-1master192.168.142.66Docker-ce、Compose 3、Consul、Consul-template
centos7-2slave1192.168.142.77Docker-ce、registrator
centos7-minslave2192.168.142.136Docker-ce、registrator

docker-consul集群實驗步驟

master端

//安裝Consul
[root@localhost ~]# mkdir consul
[root@localhost ~]# cd consul/
[root@localhost consul]# unzip consul_0.9.2_linux_amd64.zip
[root@localhost consul]# ls
consul  consul_0.9.2_linux_amd64.zip

后臺啟動

//移動文件,方便識別
[root@localhost consul]# mv consul /usr/bin/

[root@localhost consul]# consul agent \
-server \
-bootstrap \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.142.66 \
-client=0.0.0.0 \
-node=consul-server01 &> /var/log/consul.log &

[root@localhost consul]# jobs
[1]+  運行中               consul agent -server -bootstrap -ui -data-dir=/var/lib/consul-data -bind=192.168.142.66 -client=0.0.0.0 -node=consul-server01 &>/var/log/consul.log &

"agent"  使用agent代理功能

"-server"  提供server功能

"-bootstrap"   參與選舉為領(lǐng)袖

"-ui"     提供用戶界面

"-data-dir"    參數(shù)存儲位置

"-bind"     綁定地址

"-node"    定義節(jié)點名稱

檢查群集

//查看群集信息
[root@localhost consul]# consul members
Node             Address              Status  Type    Build  Protocol  DC
consul-server01  192.168.142.66:8301  alive   server  0.9.2  2         dc1

//過濾leader信息
[root@localhost consul]# consul info | grep leader
        leader = true
        leader_addr = 192.168.142.66:8300

通過httpd api 獲取集群信息

curl 127.0.0.1:8500/v1/status/peers         //查看集群server成員

curl 127.0.0.1:8500/v1/status/leader        //集群Raf leader

curl 127.0.0.1:8500/v1/catalog/services       //注冊的所有服務(wù)。

curl 127.0.0.1:8500/v1/catalog/nginx           //查看nginx服務(wù)信息

curl 127.0.0.1:8500/v1/catalog/nodes          //集群節(jié)點詳細信息

使節(jié)點服務(wù)器中的容器自動加入

//安裝registrator(注冊器)
//該工具可檢查容器運行狀態(tài)自動 進行注冊,還可注銷docker容器的服務(wù)
[root@localhost ~]# docker run -d \
--name=registrator \
--net=host \
-v /var/run/docker.sock:/tmp/docker.sock \
--restart=always \
gliderlabs/registrator:latest \
-ip=192.168.142.77 \
consul://192.168.142.66:8500

測試功能是否正常

[root@localhost ~]# docker run -itd -p:83:80 --name test-01 -h test01 nginx
[root@localhost ~]# docker run -itd -p:84:80 --name test-02 -h test02 nginx
[root@localhost ~]# docker run -itd -p:85:80 --name test-03 -h test03 httpd
[root@localhost ~]# docker run -itd -p:86:80 --name test-04 -h test04 httpd

驗證群集是否建立成功

瀏覽器中輸入http://192.168.142.66:8500,單擊“NODES”,然后點擊“consurl-seerver01”,即可看到五個服務(wù)(圖形化界面)

建立template進行代理

手工編譯安裝nginx

沒啥說的,裝唄。版本:nginx1.12.0

安裝consul-template

template屬于守護進程,用于實時查詢consul集群信息,并實時使用模板進行配置文件的生成。

[root@localhost ~]# unzip consul-template_0.19.3_linux_amd64.zip
//啟用template命令
[root@localhost ~]# mv consul-template /usr/bin/

編寫nginx配置文件模板

[root@localhost consul]# vim nginx.ctmpl        //nginx配置文件的模板
upstream http_backend {         //服務(wù)器池的名稱
  {{range service "nginx"}}
  server {{.Address}:{{.Port}};     //調(diào)用變量:服務(wù)器節(jié)點的地址和端口
  {{end}}
}

server {
  listen 110;
  server_name localhost 192.168.142.66;     //master端地址
  access_log /var/log/nginx/kgc.cn-access.log;
  index index.html index.php;
  location / {          //請求頭部信息的設(shè)定
    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;    //后端服務(wù)器IP
    proxy_set_header Client-IP $remote_addr;    //client的IP
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    //forward跳轉(zhuǎn)地址
    proxy_pass http://http_backend;         //請求跳轉(zhuǎn)給http_backend服務(wù)器池
  }
}

進行配置

//更改nginx配置文件
[root@localhost nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
//在18行下插入以下內(nèi)容
include     vhost/\*.conf;                    //添加include方便nginx識別模板生成的配置文件

//此時還沒有這個文件,需要去創(chuàng)建
[root@localhost nginx-1.12.0]# cd /usr/local/nginx/conf/
[root@localhost conf]# mkdir vhost      //創(chuàng)建虛擬機目錄

//啟用template模板(啟用后會進入監(jiān)控模式)
[root@localhost ~]# consul-template -consul-addr 192.168.142.66:8500 \
-template "/root/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/kgc.conf:/usr/local/nginx/sbin/nginx -s reload" \
--log-level=info

“-consul-addr”          #指定consul端地址

“-template”               #后方從左到右分別為:模板文件路徑、生成的配置文件名稱、重載nginx

“--log-level”              #寫入日志的等級

因為template是在consul集群的基礎(chǔ)上進行搭建的,因此在啟動template后就能直接識別slave中的nginx容器
后續(xù)進行新的nginx容器的添加時,直接run一個新的容器后便會自動添加進配置文件中

看完上述內(nèi)容,你們掌握Docker-compose和Docker-consul的配置部署了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)頁標題:Docker-compose和Docker-consul的配置部署
URL地址:http://fisionsoft.com.cn/article/geppjd.html