在分布式應用程序中,應用程序的不同部分被稱為“服務”。例如,如果有一個視頻共享網站,它可能包括一個用于將應用程序數據存儲在數據庫中的服務,一個在用戶上傳東西后在后臺進行視頻轉碼的服務,一個用于前端頁面的服務等等。
服務實際上只是“生產中的容器”。每個服務只運行一個映像,但它編碼了鏡像的運行方式 - 應該使用哪個端口,容器應運行多少個副本以滿足性能要求等等。 伸縮服務可以更改運行該軟件的容器實例的數量,從而為進程中的服務分配更多計算資源。
定義、運行和伸縮 Docker 平臺的服務很簡單,只需要寫一個 docker-compose.yml 文件。
Swarm services使用聲明性模型,這意味著你可以定義服務的理想狀態(tài),并依靠Docker保持狀態(tài)。狀態(tài)信息如下:
- 運行服務容器所依賴的鏡像名稱和tag
- 該服務包含多少容器
- 是否有任何端口暴露在swarm集群的客戶端上
- 當docker服務啟動時,service是否自動啟動
- 重新啟動服務時發(fā)生的特定行為(例如是否使用回滾重新啟動)
- 服務可以運行的節(jié)點的特性(如資源約束和位置偏好)
以上內容翻譯自官方文檔.
docker service create 包含以下參數:

創(chuàng)建一個服務
docker service create –replicas 5 –name myhelloworld alpine ping docker.com
replicas 參數是指運行實例個數
name 參數指定服務名稱
alpine 指的是使用的鏡像名稱
ping docker.com 指的是容器運行的bash
使用docker service ls命令查看創(chuàng)建出來的服務

docker service update命令參數:

docker service update更新服務:
docker service update –publish-add 80 my_web
publish-add參數指添加或者更新一個對外端口
image參數指更新鏡像
hostname 更新或指定容器名稱
force 指強制更新,即使本次更新沒有任何改變
docker service inspect命令參數:

docker service inspect查看服務詳情:
docker service inspect my_web

docker service ps命令參數:

docker service ps 搜索服務命令:

–filter可以指定過濾條件
docker service rm 刪除服務:

docker service ls 列出所有服務:

發(fā)現my_web服務已經被刪除了
docker service scale 擴展一個或多個服務
docker service scale webtier_nginx=5

查看服務詳情:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。