『中級(jí)篇』docker-swarm中的Service創(chuàng)建維護(hù)和水平擴(kuò)展(45)

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì),謝謝!
原文鏈接地址:『中級(jí)篇』docker-swarm中的Service創(chuàng)建維護(hù)和水平擴(kuò)展(45)

通過(guò)上一節(jié)已經(jīng)創(chuàng)建了1個(gè)manager和2個(gè)worker,現(xiàn)在看看如何使用。源碼地址:https://github.com/limingios/docker中的No.5;

service的操作

之前說(shuō)docker-compose的時(shí)候提過(guò)service,一個(gè)service就是一個(gè)container一個(gè)容器,而在swarm中的service,是一個(gè)container,可能運(yùn)行在我們的clus里面的任何一個(gè)節(jié)點(diǎn)上邊。

  • docker-swarm 有個(gè)專門的命令 docker service

docker service create 和 docker run 的命令基本是一致的。在swarm下就不在使用docker run了,docker run 是在本地創(chuàng)建一個(gè)容器。我們?cè)赾lus下創(chuàng)建的docker 容器不一定是運(yùn)行在那個(gè)機(jī)器下。所以docker run 基本不用了。

docker service --help
docker servcie create 
docker run
  • 創(chuàng)建一個(gè)swarm的演示容器
docker service create --name demo busybox sh -c "while true;do sleep 3600;done"
docker service ls
#目前這個(gè)容器是運(yùn)行在swarm-worker1上,這都是隨機(jī)的。
docker service ps demo
docker service ls
  • 橫向水平的擴(kuò)展
#橫向水平擴(kuò)展至5個(gè)容器
docker service scale demo=5 
docker service ls
docker service ps demo
  • 自動(dòng)恢復(fù)功能

我們先去worker2中強(qiáng)制刪除,然后查看manager的情況,在過(guò)一會(huì)通過(guò)命令查看docker service ls的情況

# 在docker-work2 中刪除 容器
docker rm -f 容器2中的容器ID
# 在docker-manager中查看,正常運(yùn)行的只有4個(gè)
docker service ls
# 查看詳細(xì)的情況,docker-work2中的容器已經(jīng)shutdown了
docker service ps demo 

過(guò)幾十秒 在查看容器運(yùn)行情況,自動(dòng)回復(fù)之前要求的5個(gè)。

# 在docker-manager中查看,正常運(yùn)行的只有5個(gè)
docker service ls
# 查看詳細(xì)的情況,docker-work2中的容器已經(jīng)shutdown了,又起來(lái)了一個(gè)
docker service ps demo 
  • 刪除service的效果
docker service rm demo

PS:docker service 內(nèi)部有很多復(fù)雜的操作,雖然各位老鐵用了簡(jiǎn)單的 一個(gè)創(chuàng)建一個(gè)刪除,但是底層里面會(huì)知道有多個(gè)容器,在那個(gè)機(jī)器上邊,這些機(jī)器里面的容器應(yīng)用運(yùn)行那些命令,這就起到了集群管理。


往期精彩
  1. docker導(dǎo)學(xué)(一)
  2. 容器的技術(shù)概述(二)
  3. docker的魅力初體驗(yàn)-5分鐘安裝wordpress不走彎路(三)
  4. docker官網(wǎng)介紹(四)
  5. 如何在mac上安裝docker(五)
  6. 如何在window上安裝docker(六)
  7. 如何在mac上通過(guò)vagrant安裝虛擬機(jī)(七)
  8. 如何在window上通過(guò)vagrant安裝虛擬機(jī)(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通過(guò)Docker-Machine在阿里云上的使用(11)
  12. docker架構(gòu)和底層技術(shù)(12)
  13. docker Image概述(13)
  14. 手動(dòng)建立一個(gè)base Image(14)
  15. 什么是Container(15)
  16. 構(gòu)建自己的Docker鏡像(16)
  17. Dockerfile詳解(17)
  18. 鏡像的發(fā)布(18)
  19. Dockerfile實(shí)戰(zhàn)(19)
  20. 容器的操作(20)
  21. Dockerfile實(shí)戰(zhàn)CMD和ENTRTYPOINT的配合(21)
  22. 容器的資源限制(22)
  23. docker網(wǎng)絡(luò)(23)
  24. docker學(xué)習(xí)必會(huì)網(wǎng)絡(luò)基礎(chǔ)(24)
  25. Linux網(wǎng)絡(luò)命名空間(25)
  26. Docker Bridge詳解(26)
  27. 容器之間的Link(27)
  28. 容器的端口映射(28)
  29. 容器網(wǎng)絡(luò)之host和none(29)
  30. 多容器復(fù)雜應(yīng)用的部署(30)
  31. overlay網(wǎng)絡(luò)和etcd實(shí)現(xiàn)多機(jī)的容器通信(31)
  32. docker的數(shù)據(jù)持久化存儲(chǔ)和數(shù)據(jù)共享(32)
  33. windows下vagrant 通過(guò)SecureCRT連接centos7(33)
  34. 數(shù)據(jù)持久化之Data Volume(34)
  35. 數(shù)據(jù)持久化之bind Mounting(35)
  36. docker 使用bind Mounting實(shí)戰(zhàn)(36)
  37. docker容器安裝wordpress(37)
  38. docker Compose到底是什么(38)
  39. Docker Compose的安裝和基本使用(39)
  40. Docker 水平擴(kuò)展和負(fù)載均衡(40)
  41. Docker compose 部署一個(gè)復(fù)雜的應(yīng)用(41)
  42. 容器編排Docker Swarm介紹(42)
  43. docker-swarm創(chuàng)建一個(gè)多節(jié)點(diǎn)集群(43)
  44. play with docker 的使用(44)
    image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容