在分布式應用程序中,應用程序的不同部分被稱為“服務”。例如,如果有一個視頻共享網(wǎng)站,它可能包括一個用于將應用程序數(shù)據(jù)存儲在數(shù)據(jù)庫中的服務,一個在用戶上傳東西后在后臺進行視頻轉(zhuǎn)碼的服務,一個用于前端頁面的服務等等。
服務實際上只是“生產(chǎn)中的容器”。每個服務只運行一個映像,但它編碼了鏡像的運行方式 - 應該使用哪個端口,容器應運行多少個副本以滿足性能要求等等。 伸縮服務可以更改運行該軟件的容器實例的數(shù)量,從而為進程中的服務分配更多計算資源。
定義、運行和伸縮 Docker 平臺的服務很簡單,只需要寫一個 docker-compose.yml 文件。
Swarm services使用聲明性模型,這意味著你可以定義服務的理想狀態(tài),并依靠Docker保持狀態(tài)。狀態(tài)信息如下:
- 運行服務容器所依賴的鏡像名稱和tag
- 該服務包含多少容器
- 是否有任何端口暴露在swarm集群的客戶端上
- 當docker服務啟動時,service是否自動啟動
- 重新啟動服務時發(fā)生的特定行為(例如是否使用回滾重新啟動)
- 服務可以運行的節(jié)點的特性(如資源約束和位置偏好)
以上內(nèi)容翻譯自官方文檔.
docker service create 包含以下參數(shù):
創(chuàng)建一個服務
docker service create –replicas 5 –name myhelloworld alpine ping docker.com
replicas 參數(shù)是指運行實例個數(shù)
name 參數(shù)指定服務名稱
alpine 指的是使用的鏡像名稱
ping docker.com 指的是容器運行的bash
使用docker service ls命令查看創(chuàng)建出來的服務
docker service update命令參數(shù):
docker service update更新服務:
docker service update –publish-add 80 my_web
publish-add參數(shù)指添加或者更新一個對外端口
image參數(shù)指更新鏡像
hostname 更新或指定容器名稱
force 指強制更新,即使本次更新沒有任何改變
docker service inspect命令參數(shù):
docker service inspect查看服務詳情:
docker service inspect my_web
docker service ps命令參數(shù):
docker service ps 搜索服務命令:
–filter可以指定過濾條件
docker service rm 刪除服務:
docker service ls 列出所有服務:
發(fā)現(xiàn)my_web服務已經(jīng)被刪除了
docker service scale 擴展一個或多個服務
docker service scale webtier_nginx=5
查看服務詳情:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。