Docker官方文檔翻譯3

      網(wǎng)友投稿 644 2022-05-29

      第三部分: 服務(wù)

      準(zhǔn)備工作

      安裝docker 1.13及以上版本。

      安裝Docker Compose

      閱讀第一部分和第二部分的內(nèi)容。

      Docker官方文檔翻譯3

      確保你已經(jīng)發(fā)布friendlyhello鏡像到docker公共倉庫。

      確保你的鏡像能夠作為一個可以部署的容器。 運行這個命令,在你的信息中插入用戶名,repo和tag:docker run -p 80:80 username / repo:tag,然后訪問http:// localhost /。

      介紹

      第3部分,我們擴(kuò)展了我們的應(yīng)用并實現(xiàn)了負(fù)載均衡。 要做到這一點,我們必須在分布式應(yīng)用程序的層次結(jié)構(gòu)中升級一級:服務(wù)。

      服務(wù)(你在這里)

      容器(在第2部分涵蓋)

      關(guān)于服務(wù)

      在分布式應(yīng)用程序中,應(yīng)用程序的不同部分被稱為“服務(wù)”。例如,如果你想象一個視頻共享站點,它可能包含一個用于將應(yīng)用程序數(shù)據(jù)存儲在數(shù)據(jù)庫中的服務(wù),一個用于在后臺進(jìn)行視頻轉(zhuǎn)碼的服務(wù) 用戶上傳的東西,前端的服務(wù)等等。

      服務(wù)實際上只是“生產(chǎn)中的容器”。一個服務(wù)只運行一個鏡像,但它編碼鏡像運行的方式 - 應(yīng)該使用哪個端口,容器應(yīng)運行多少個副本,以便服務(wù)具有所需的容量,以及 等等。 縮放服務(wù)會更改運行該軟件的容器實例的數(shù)量,從而為流程中的服務(wù)分配更多計算資源。

      幸運的是,使用Docker平臺定義,運行和擴(kuò)展服務(wù)非常簡單 - 只需編寫一個docker-compose.yml文件即可。

      你的第一個docker-compose.yml文件

      docker-compose.yml文件是一個YAML格式的文件,它定義了Docker容器在生產(chǎn)中的行為方式。

      docker-compose.yml

      將這個文件保存為docker-compose.yml,無論你在什么時候想用。 確保你已將第2部分中創(chuàng)建的圖像推送到注冊倉庫中,并通過用你的鏡像,替換username / repo:標(biāo)簽來更新此.yml。

      version:?"3" services: ??web: ????#?replace?username/repo:tag?with?your?name?and?image?details ????image:?username/repo:tag ????deploy: ??????replicas:?5 ??????resources: ????????limits: ??????????cpus:?"0.1" ??????????memory:?50M ??????restart_policy: ????????condition:?on-failure ????ports: ??????-?"80:80" ????networks: ??????-?webnet networks: ??webnet:

      這個docker-compose.yml文件告訴Docker執(zhí)行以下操作:

      從注冊表中拉出我們在第二部分中上傳的鏡像。

      運行該鏡像的5個實例作為名為web的服務(wù),限制每個實例使用最多10%的CPU(所有的內(nèi)核)和50MB的RAM。

      如果一個失敗,立即重啟容器。

      將主機上的端口80映射到Web的端口80。

      指示web容器通過稱為webnet的負(fù)載平衡網(wǎng)絡(luò)共享端口80。 (在內(nèi)部,容器本身在臨時端口上發(fā)布到web的端口80)。

      使用默認(rèn)設(shè)置(這是一個負(fù)載平衡覆蓋網(wǎng)絡(luò))定義webnet網(wǎng)絡(luò)。

      運行你的負(fù)載均衡應(yīng)用

      在我們可以使用docker stack deploy命令之前,我們首先運行:

      docker?swarm?init

      現(xiàn)在我們來運行它。 你需要給你的應(yīng)用一個名字。在這里,取名為getstartedlab:

      docker?stack?deploy?-c?docker-compose.yml?getstartedlab

      我們的單一服務(wù)堆棧在一臺主機上運行了5個我們部署映像的容器實例。

      在我們的應(yīng)用程序中獲取一項服務(wù)的服務(wù)ID:

      docker?service?ls

      查找Web服務(wù)的輸出,并以你的應(yīng)用程序名稱作為前綴。如果你將其命名為與此示例中顯示的相同,則名稱為getstartedlab_web。還列出了服務(wù)ID以及副本數(shù)量,映像名稱和端***露量。

      在服務(wù)中運行的單個容器稱為任務(wù)。任務(wù)會獲得數(shù)值增加的唯一ID,最大數(shù)量為您在docker-compose.yml中定義的副本數(shù)量。 列出您的服務(wù)的任務(wù):

      docker?service?ps?getstartedlab_web

      如果您只列出系統(tǒng)中的所有容器,但也不會顯示服務(wù)過濾的任務(wù),任務(wù)也會顯示出來:

      docker?container?ls?-q

      您可以連續(xù)多次運行curl -4 http:// localhost,或者在瀏覽器***問該URL并刷新幾次。

      無論哪種方式,容器ID都會發(fā)生變化,從而表明有負(fù)載均衡的功能; 在每個請求中,以循環(huán)的策略選擇5個任務(wù)中的一個來響應(yīng)。 容器ID與前一個命令(docker container ls -q)的輸出相匹配。

      擴(kuò)展你的應(yīng)用

      你可以通過更改docker-compose.yml中的副本數(shù)量的值,保存更改并重新運行docker stack deploy命令來擴(kuò)展應(yīng)用程序:

      docker?stack?deploy?-c?docker-compose.yml?getstartedlab

      Docker執(zhí)行一個就地更新,不需要先撕下堆棧或殺死任何容器。

      現(xiàn)在,重新運行docker container ls -q以查看重新配置的已部署實例。 如果你擴(kuò)大了副本數(shù),則會啟動更多任務(wù),從而啟動更多容器。

      關(guān)閉應(yīng)用程序和swarm

      關(guān)閉應(yīng)用用docker stack rm命令:

      docker?stack?rm?getstartedlab

      關(guān)閉swarm

      docker?swarm?leave?--force

      使用Docker來升級和擴(kuò)展應(yīng)用程序同樣簡單。 你已經(jīng)朝著學(xué)習(xí)如何在生產(chǎn)中運行容器邁出了一大步。 接下來,您將學(xué)習(xí)如何將這個應(yīng)用程序作為Docker機器集群上的真正群體運行。

      復(fù)習(xí)

      總而言之,在輸入docker run是非常簡單的,生產(chǎn)環(huán)境中的容器的真正實現(xiàn)就是將其作為服務(wù)來運行的。 服務(wù)在Compose文件中編寫了容器的行為,此文件可用于容器擴(kuò)容,限制和重新部署我們的應(yīng)用程序。 對服務(wù)的更改可以在運行時適用,使用啟動服務(wù)的相同命令:docker stack deploy。

      現(xiàn)階段需要探索的一些命令如下:

      docker stack ls ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# List stacks or apps docker stack deploy -c ?# Run the specified Compose file docker service ls ? ? ? ? ? ? ? ? # List running services associated with an app docker service ps ? ? ? ? ? ? ? ? ?# List tasks associated with an app docker inspect ? ? ? ? ? ? ? ? ? # Inspect task or container docker container ls -q ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# List container IDs docker stack rm ? ? ? ? ? ? ? ? ? ? ? ? ? ? # Tear down an applic

      ation docker swarm leave --force ? ? ?# Take down a single node swarm from the manager

      https://mp.weixin.qq.com/s?__biz=MzAxNjk4ODE4OQ==&mid=2247484234&idx=1&sn=70b9f438d2f89a1326383318e5ad55ea&chksm=9bed2238ac9aab2ef4518fbe07430c142307e671d8587e25094bf68eecde06ebf8c61c7fdca7&scene=21#wechat_redirect

      機器翻譯 Docker

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:百度RocketQA系列搜索技術(shù)論文解析(一)
      下一篇:Ubuntu配置samba共享目錄
      相關(guān)文章
      亚洲aⅴ无码专区在线观看春色| 亚洲美国产亚洲AV| 国产亚洲视频在线| 亚洲精品无码av片| 亚洲精品精华液一区二区| 亚洲另类春色校园小说| 亚洲精品视频在线播放| 亚洲首页在线观看| 亚洲福利视频一区二区三区| 久久国产亚洲精品无码| 亚洲视频一区在线播放| 亚洲白色白色永久观看| 亚洲视屏在线观看| 亚洲大尺码专区影院| 亚洲人成片在线观看| 亚洲一级毛片在线观| 亚洲一级免费视频| 久久亚洲国产最新网站| 亚洲精品国产国语| 亚洲精品色播一区二区| 看亚洲a级一级毛片| 夜色阁亚洲一区二区三区| 亚洲精品无码成人片在线观看 | 亚洲免费在线视频播放| 亚洲一区电影在线观看| 亚洲综合小说另类图片动图| 亚洲av永久中文无码精品| 国产亚洲精彩视频| 国产亚洲精品无码专区 | 亚洲乱亚洲乱妇24p| 相泽南亚洲一区二区在线播放| 亚洲AV无码专区在线电影成人| 日韩亚洲综合精品国产| 国产偷国产偷亚洲高清日韩| 国产AV无码专区亚洲AV男同 | 国产精品亚洲lv粉色| 亚洲国产一区明星换脸| 亚洲人成网7777777国产| 亚洲欧洲在线观看| 亚洲国产中文在线视频| 亚洲丶国产丶欧美一区二区三区|