真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

DockerSwarm服務(wù)編排之命令詳解

一、簡介

長安網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,長安網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為長安上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的長安做網(wǎng)站的公司定做!

Docker有個(gè)編排工具docker-compose,可以將組成某個(gè)應(yīng)該的多個(gè)docker容器編排在一起,同時(shí)管理。同樣在Swarm集群中,可以使用docker stack 將一組相關(guān)聯(lián)的服務(wù)進(jìn)行編排管理。

Docker stack 也是一個(gè)yaml文件,和一份docker-compose.yml文件差不多,指令也基本一致。但是與compose相比其不支持build、links和network_mode。Docker stack有一個(gè)新的指令deploy。

注:stack不支持的指令

  

二、Deploy

  Deploy是用來指定swarm服務(wù)部署和運(yùn)行時(shí)的相關(guān)配置,并且只有使用docker stack deploy 部署swarm集群時(shí)才會(huì)生效。如果使用docker-compose up 或者docker-compose run時(shí),該選項(xiàng)會(huì)被忽略。要使用deploy選項(xiàng),compose-file中version版本要在3或3+?! ?p>version: '3'services: redis: image: redis:alpine deploy: replicas: 6 update_config: parallelism: 2 delay: 10s restart_policy: condition: on-failure

(1)ENDPOINT_MODE

   指定swarm服務(wù)發(fā)現(xiàn)的模式

endpoint_mode: vip - Docker為swarm集群服務(wù)分配一個(gè)虛擬IP(VIP),作為客戶端到達(dá)集群服務(wù)的“前端”。Docker 在客戶端和可用工作節(jié)點(diǎn)之間對(duì)服務(wù)的請(qǐng)求進(jìn)行路由。而客戶端不用知道有多少節(jié)點(diǎn)參與服務(wù)或者是這些節(jié)點(diǎn)的IP/端口。(這是默認(rèn)模式) endpoint_mode: dnsrr -

DNS輪詢(DNSRR)服務(wù)發(fā)現(xiàn)不使用單個(gè)虛擬IP。 Docker為服務(wù)設(shè)置DNS條目,使得服務(wù)名稱的DNS查詢返回一個(gè)IP地址列表,并且客戶端直接連接到其中的一個(gè)。如果您想使用自己的負(fù)載平衡器,或者混合Windows和Linux應(yīng)用程序,則DNS輪詢功能非常有用。

  注:version 3.3+

version: "3.3" services: wordpress: image: wordpress ports: - 8080:80 networks: - overlay deploy: mode: replicated replicas: 2 endpoint_mode: vip mysql: image: mysql volumes: - db-data:/var/lib/mysql/data networks: - overlay deploy: mode: replicated replicas: 2 endpoint_mode: dnsrr volumes: db-data: networks: overlay:

(2)LABELS  

  指定服務(wù)的標(biāo)簽。這些標(biāo)簽僅在服務(wù)上設(shè)置,而不在服務(wù)的任何容器上設(shè)置  

version: "3"services: web: image: web deploy: labels: com.example.description: "This label will appear on the web service"

  要改為在容器上設(shè)置標(biāo)簽,請(qǐng)?jiān)赿eploy之外使用標(biāo)簽鍵

version: "3"services: web: image: web labels: com.example.description: "This label will appear on all containers for the web service"

(3)MODE

  全局(每個(gè)群集節(jié)點(diǎn)只有一個(gè)容器)或副本(指定容器的數(shù)量)。默認(rèn)值被副本。 

version: '3'services: worker: image: dockersamples/examplevotingapp_worker deploy: mode: global

(4)PLACEMENT

  指定約束和偏好設(shè)置 

version: '3'services: db: image: postgres deploy: placement: constraints: - node.role == manager - engine.labels.operatingsystem == ubuntu 14.04 preferences: - spread: node.labels.zone

(5)REPLICAS

  如果服務(wù)是副本模式(默認(rèn)模式),可以指定該服務(wù)運(yùn)行的容器數(shù)量。 

version: '3'services: worker: image: dockersamples/examplevotingapp_worker networks: - frontend - backend deploy: mode: replicated replicas: 6

(6)RESOURCES

  資源限制配置 

version: '3'services: redis: image: redis:alpine deploy: resources: limits: cpus: '0.50' memory: 50M reservations: cpus: '0.25' memory: 20M

在下例中,redis服務(wù)限制使用不超過50M的內(nèi)存和0.50(50%)的可用處理時(shí)間(CPU),并且擁有20M的內(nèi)存和0.25個(gè)CPU時(shí)間(總是可用)?! ?/p>

(7)RESTART_POLICY

  配置在容器退出時(shí)是否并如何重啟容器。取代restart指令。

condition :none、on-failure和any(默認(rèn)any) delay :在重啟嘗試之間等待多久(默認(rèn)0) max_attempts :嘗試重啟的次數(shù)(默認(rèn)一直重啟,直到成功) window : 在確實(shí)一個(gè)重啟是否成功前需要等待的窗口時(shí)間 version: "3"services: redis: image: redis:alpine deploy: restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s

(8)UPDATE_CONFIG

  配置服務(wù)如何升級(jí)

parallelism:同一時(shí)間升級(jí)的容器數(shù)量 delay:容器升級(jí)間隔時(shí)間 failure_action:升級(jí)失敗后的動(dòng)作(continue、rollback和pause。默認(rèn)pause)。 monitor:更新完成后確實(shí)成功的時(shí)間(ns|us|ms|s|m|h)。 (默認(rèn)0s)max_failure_ratio:更新期間允許的失敗率o rder:更新期間的操作順序。停止優(yōu)先(舊任務(wù)在開始新任務(wù)之前停止)或者先啟動(dòng)(首先啟動(dòng)新任務(wù),并且正在運(yùn)行的任務(wù)短暫重疊)(默認(rèn)停止優(yōu)先)注意:只支持v3.4及更高版本。  version: '3.4'services: vote: image: dockersamples/examplevotingapp_vote:before depends_on: - redis deploy: replicas: 2 update_config: parallelism: 2 delay: 10s order: stop-first

(9)depends_on

  表示服務(wù)之間的依賴關(guān)系  

version: '3'services: web: build: . depends_on: - db - redis redis: image: redis db: image: postgres

(10)dns  

  自定義DNS服務(wù)器??梢允菃蝹€(gè)值或列表?!?p>dns: 8.8.8.8dns: - 8.8.8.8 - 9.9.9.9

 ?。?1)dns_search  

dns_search: example.comdns_search: - dc1.example.com - dc2.example.com

(12)environment  

  添加環(huán)境變量。您可以使用數(shù)組或字典。任何布爾值;真/假,是/否,需要用引號(hào)括起來以確保它們不被YML解析器轉(zhuǎn)換為True或False?!?p>environment: RACK_ENV: development SHOW: 'true' SESSION_SECRET: environment: - RACK_ENV=development - SHOW=true - SESSION_SECRET

(13)expose

  開放容器的端口而不用在主機(jī)上暴露端口,它們只能被相關(guān)聯(lián)的服務(wù)獲取。只能指定內(nèi)部端口。 

expose: - "3000" - "8000"

以上就是Docker Swarm 服務(wù)編排之命令的詳細(xì)內(nèi)容,更多關(guān)于Docker Swarm 服務(wù)編排的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!


文章名稱:DockerSwarm服務(wù)編排之命令詳解
標(biāo)題路徑:http://weahome.cn/article/cgpgdp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部