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

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

docker service update命令參數(shù):

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

docker service inspect查看服務(wù)詳情:
docker service inspect my_web

docker service ps命令參數(shù):

docker service ps 搜索服務(wù)命令:

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

docker service ls 列出所有服務(wù):

發(fā)現(xiàn)my_web服務(wù)已經(jīng)被刪除了
docker service scale 擴(kuò)展一個(gè)或多個(gè)服務(wù)
docker service scale webtier_nginx=5

查看服務(wù)詳情:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。