0x2 Docker系列:Docker官方文檔翻譯3

      網(wǎng)友投稿 634 2025-04-06

      1??? 第三部分: 服務(wù)

      1.1 準(zhǔn)備工作

      ·????? 安裝docker 1.13及以上版本。

      ·????? 安裝docker Compose

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

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

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

      1.2 介紹

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

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

      容器(在第2部分涵蓋)

      1.3 關(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文件即可。

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

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

      1.4.1 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。

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

      ·????? 將主機(jī)上的端口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ò)。

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

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

      docker?swarm?init

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

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

      我們的單一服務(wù)堆棧在一臺主機(jī)上運行了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)的輸出相匹配。

      1.6 擴(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ù),從而啟動更多容器。

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

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

      docker?stack?rm?getstartedlab

      ·????? 關(guān)閉swarm

      0x2 Docker系列:Docker官方文檔翻譯3

      docker?swarm?leave?--force

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

      1.8 復(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

      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)容。

      版權(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)容。

      上一篇:限制Word2013文檔被編輯的設(shè)置方法(word文檔 限制編輯)
      下一篇:聯(lián)合文檔標(biāo)題(聯(lián)合發(fā)文標(biāo)題)
      相關(guān)文章
      亚洲色大成网站www永久网站| 亚洲激情在线视频| 婷婷亚洲久悠悠色悠在线播放 | 亚洲国产成人爱av在线播放| 亚洲国产精华液2020| 97se亚洲国产综合自在线| 亚洲国产成a人v在线| 亚洲国产成人91精品| 亚洲国产精品综合福利专区| 亚洲精品福利在线观看| 亚洲精品自拍视频| 亚洲二区在线视频| 亚洲av无码一区二区三区观看| 67194在线午夜亚洲| 亚洲最大中文字幕无码网站| 亚洲国产精品免费观看| 亚洲中文字幕乱码AV波多JI| 美女视频黄免费亚洲| 亚洲人成色77777在线观看| 亚洲中文字幕久久精品无码VA| 亚洲熟妇AV日韩熟妇在线| 亚洲精品成a人在线观看☆| 激情小说亚洲色图| 亚洲国产成人久久一区久久 | 亚洲免费在线观看| 亚洲日韩在线第一页| 国产亚洲视频在线播放| 久久久久久久综合日本亚洲| 亚洲va久久久噜噜噜久久狠狠| 亚洲国产高清在线| 亚洲婷婷在线视频| 亚洲精品第一国产综合亚AV| 亚洲精品成人区在线观看| 区久久AAA片69亚洲| 亚洲国产香蕉碰碰人人| 亚洲国产成人久久精品app| 亚洲人成色777777精品| 亚洲av无码天堂一区二区三区 | 亚洲Av高清一区二区三区| 亚洲AV无码一区二区三区牲色| 国产精品亚洲综合网站|