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