docker stack實踐

stacks

1. 可以在docker-compose.yml中增加多個services

docker engine 1.12新特性

1. 內置服務編排機制:目前有Docker Swarm、Kubernetes以及Mesos在內的多種編排框架,Docker Engine如今迎來了內置編排機制

2. Service:分佈式負載均衡服務

3. 零配置安全性:節點之間通信內容驗證、授權、加密

4. Docker Stack與分佈式應用捆綁包DAB

普通容器和docker stack區別

單個應用方式: Dockerfile -> 鏡像 -> 容器(docker run)  ---非集羣

多個應用管理方式: docker-compose  ---非集羣

分佈式負載均衡服務方式: docker service create/update  ---集羣

分佈式負載均衡服務管理方式:Docker Compose -> 分佈式應用捆綁包 -> Docker Stack  ---集羣

通過compose文件生成dab並創建stack過程

docker service ls --filter name=redis --quiet | wc -l

docker-compose --file docker-compose.yml bundle

docker deploy --file page-hit-counter.dab page-hit-counter

docker service ls

【docker stack命令】

根據compose文件或bundle文件創建stack

docker stack deploy --compose-file docker-compose.yml vossibility

docker stack deploy --bundle-file vossibility-stack.dab vossibility

列出所有stack

docker stack ls

列出stack中所有任務

docker stack ps

刪除stack

docker stack rm

列出stack中所有服務

docker stack services stack-name

【自動集羣負載均衡】

Docker Service負責保持應用的“理想狀態”。例如,理想狀態是確保特定服務有二套容器與之對應且持續運行。如果移除某個容器,而非服務,則該服務會自動重啓一個容器,如果整個節點掛了,則會自動到集羣中開啓另一個節點。所以如果要刪除某個服務,必須 docker service rm ** 或 docker stack rm **

例如:

docker rm -f abf8703ed713  ----刪除正在運行的容器

docker service ls  ----能看到容器刪除後又重啓了一個

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章