最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker堆棧的管理操作詳解

 更新時間:2018年06月21日 12:23:10   作者:何小有  
這篇文章主要介紹了Docker堆棧的管理操作,結(jié)合實例形式分析了Docker堆棧管理相關(guān)的新服務(wù)添加、部署、數(shù)據(jù)持久化等操作技巧與注意事項,需要的朋友可以參考下

本文詳細(xì)講述了Docker堆棧的管理操作。分享給大家供大家參考,具體如下:

在Docker中,鏡像是一個輕量級的,獨立的可執(zhí)行程序包,包含運行一個軟件所需的所有東西,包括代碼、運行環(huán)境、庫、環(huán)境變量和配置文件。容器是鏡像的運行實例,默認(rèn)情況下,它與主機環(huán)境完全隔離,只有在配置時才訪問主機文件和端口。

在《Docker集群的創(chuàng)建與管理》中,設(shè)置了一個運行Docker的機器集群,并部署了一個應(yīng)用程序,容器在多臺機器上運行?,F(xiàn)在你可以了解分布式應(yīng)用程序?qū)哟谓Y(jié)構(gòu)的頂層:堆棧。堆棧是一組相互關(guān)聯(lián)的服務(wù),它們可以共享依賴關(guān)系,并且可以一起協(xié)調(diào)和縮放。單個堆棧能夠定義和協(xié)調(diào)整個應(yīng)用程序的功能。

添加一個新服務(wù)并重新部署

將服務(wù)添加到docker-compose.yml文件很容易,首先添加一個免費的可視化器服務(wù),使我們能看到是如何調(diào)度容器。在編輯器中打開docker-compose.yml,并用下面的代碼替換它的內(nèi)容:

version: "3"
services:
 web:
 # 用你的名稱和鏡像細(xì)節(jié)替換username/repo:tag
 image: username/repo:tag
 deploy:
  replicas: 5
  restart_policy:
  condition: on-failure
  resources:
  limits:
   cpus: "0.1"
   memory: 50M
 ports:
  - "80:80"
 networks:
  - webnet
 visualizer:
 image: dockersamples/visualizer:stable
 ports:
  - "8080:8080"
 volumes:
  - "/var/run/docker.sock:/var/run/docker.sock"
 deploy:
  placement:
  constraints: [node.role == manager]
 networks:
  - webnet
networks:
 webnet:

這里唯一新增的就是名為visualizer的web對等服務(wù),在這里可以看到兩個新東西:volumes密鑰,賦予visualizer訪問Docker的主機套接字文件的權(quán)限,以及一個placement密鑰,確保此服務(wù)只能在集群管理器上運行。這個由Docker創(chuàng)建的開源項目構(gòu)建的容器可以顯示集群上運行的Docker服務(wù)。

確保你的終端被配置為與myvm1進(jìn)行通信,運行docker-machine ls列出機器,并確保已連接到myvm1,如果需要可以重新運行docker-machine env myvm1,然后運行給定的命令來配置終端。在管理器上重新運行docker stack deploy命令,任何需要更新的服務(wù)都將被更新:

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

docker-compose.yml文件中可以看到,visualizer在端口8080上運行,通過運行docker-machine ls來獲取其中一個節(jié)點的IP地址,轉(zhuǎn)到8080端口的IP地址,將看到visualizer正在運行:

visualizer的單個副本按照預(yù)期在管理器上運行,并且網(wǎng)絡(luò)的5個實例遍布整個集群,可以通過運行docker stack ps <stack>來證實這個可視化:

$ docker stack ps getstartedlab

visualizer是一個獨立的服務(wù),可以在任何包含它的應(yīng)用程序中運行,它不依賴于其他任何東西?,F(xiàn)在創(chuàng)建一個具有依賴性的服務(wù),Redis服務(wù)將提供訪問者計數(shù)器。

數(shù)據(jù)持久化

再次通過相同的工作流程來添加一個用于存儲應(yīng)用程序數(shù)據(jù)的Redis數(shù)據(jù)庫,保存這個新的docker-compose.yml文件,最后添加一個Redis服務(wù):

version: "3"
services:
 web:
 # 用你的名稱和鏡像細(xì)節(jié)替換username/repo:tag
 image: username/repo:tag
 deploy:
  replicas: 5
  restart_policy:
  condition: on-failure
  resources:
  limits:
   cpus: "0.1"
   memory: 50M
 ports:
  - "80:80"
 networks:
  - webnet
 visualizer:
 image: dockersamples/visualizer:stable
 ports:
  - "8080:8080"
 volumes:
  - "/var/run/docker.sock:/var/run/docker.sock"
 deploy:
  placement:
  constraints: [node.role == manager]
 networks:
  - webnet
 redis:
 image: redis
 ports:
  - "6379:6379"
 volumes:
  - /home/docker/data:/data
 deploy:
  placement:
  constraints: [node.role == manager]
 command: redis-server --appendonly yes
 networks:
  - webnet
networks:
 webnet:

Redis在Docker庫中有一個官方鏡像,并且已經(jīng)被授予redis的簡短鏡像名稱,所以在這里沒有username/repo。Redis端口6379已經(jīng)由Redis預(yù)先配置好,從容器中暴露給主機,在docker-compose.yml文件中,將它從主機暴露給外部,這樣就可以為任何節(jié)點到Redis桌面管理器中,并管理這個Redis實例。

最重要的是,redis規(guī)范中有幾件事情使數(shù)據(jù)在這個堆棧的部署之間持續(xù)存在:redis總是在管理器上運行,所以它總是使用相同的文件系統(tǒng);redis在主機的文件系統(tǒng)中訪問一個任意目錄作為容器內(nèi)部的/data,這是Redis存儲數(shù)據(jù)的地方??傊@是在Redis數(shù)據(jù)的主機物理文件系統(tǒng)中創(chuàng)建“真實來源”。如果沒有這個,Redis將把它的數(shù)據(jù)存儲在容器文件系統(tǒng)中的/data中,如果這個容器被重新部署的話,這些數(shù)據(jù)將被清除。

這個真實來源有兩個組成部分:placement在Redis服務(wù)上的placement約束,確保它始終使用相同的主機;創(chuàng)建的volumes允許容器作為/data(在Redis容器內(nèi))訪問/data(在主機上),在容器來來去去的時候,存儲在指定主機上的/data文件將會持續(xù)存在,從而保持連續(xù)性。

在管理器上創(chuàng)建一個/data目錄:

$ docker-machine ssh myvm1 "mkdir ./data"

確保終端被配置為與myvm1進(jìn)行通信,運行docker-machine ls列出機器,并確保已連接到myvm1,如果需要可以重新運行docker-machine env myvm1,然后運行給定的命令來配置終端。在管理器上重新運行docker stack deploy命令,任何需要更新的服務(wù)都將被更新:

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

運行docker service ls以驗證這三個服務(wù)是否按預(yù)期運行:

$ docker service ls

查看您的某個節(jié)點的網(wǎng)頁,您將看到訪客計數(shù)器的結(jié)果,該計數(shù)器現(xiàn)在已經(jīng)存在并將信息存儲在Redis上:

另外,使用任一節(jié)點的IP地址8080端口訪問可視化器,將看到隨webvisualizer服務(wù)一起運行的redis服務(wù):

希望本文所述對大家docker容器的使用有所幫助

相關(guān)文章

  • Docker常用命令Study03詳解

    Docker常用命令Study03詳解

    這篇文章主要介紹了Docker常用命令Study03詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 詳解Django+Vue+Docker搭建接口測試平臺實戰(zhàn)

    詳解Django+Vue+Docker搭建接口測試平臺實戰(zhàn)

    這篇文章主要介紹了詳解Django+Vue+Docker搭建接口測試平臺實戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Docker安裝運行SRS的過程記錄

    Docker安裝運行SRS的過程記錄

    SRS定位是運營級的互聯(lián)網(wǎng)直播服務(wù)器集群,追求更好的概念完整性和最簡單實現(xiàn)的代碼,本文給大家介紹下Docker安裝運行SRS的過程,感興趣的朋友跟隨小編一起看看吧
    2022-04-04
  • Docker Nginx容器制作部署實現(xiàn)方法

    Docker Nginx容器制作部署實現(xiàn)方法

    這篇文章主要介紹了Docker Nginx容器制作部署實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Docker創(chuàng)建一個mysql容器并保存為本地鏡像

    Docker創(chuàng)建一個mysql容器并保存為本地鏡像

    本篇文章主要介紹了Docker創(chuàng)建一個mysql容器并保存為本地鏡像 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration

    私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio

    使用Minio在本地搭建私有云存儲時出現(xiàn)無法啟動,查看日志頻繁輸出“Adding local Minio host to 'mc' configuration...”,然后停止了,本文給大家分享私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration,感興趣的朋友一起看看吧
    2023-11-11
  • Docker部署ELK7.3.0日志收集服務(wù)最佳實踐

    Docker部署ELK7.3.0日志收集服務(wù)最佳實踐

    這篇文章主要介紹了Docker部署ELK7.3.0日志收集服務(wù)最佳實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 基于Docker的幾種常用CentOS7鏡像小結(jié)

    基于Docker的幾種常用CentOS7鏡像小結(jié)

    本文主要介紹了使用 Docker 來制作CentOS 環(huán)境的鏡像,并上傳到阿里云的 Docker 鏡像倉庫,具有一定的參考價值,感興趣的可以了解一下
    2021-11-11
  • docker desktop安裝redis的實現(xiàn)步驟

    docker desktop安裝redis的實現(xiàn)步驟

    本文主要介紹了docker desktop安裝redis的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • FastAPI 部署在Docker的詳細(xì)過程

    FastAPI 部署在Docker的詳細(xì)過程

    這篇文章主要介紹了FastAPI 部署在 Docker的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10

最新評論

芜湖市| 尚志市| 自治县| 东阿县| 洛川县| 白河县| 玉环县| 洛隆县| 武宁县| 拉萨市| 旅游| 天峨县| 大同市| 于都县| 邻水| 吉木乃县| 汉中市| 大洼县| 晋州市| 武安市| 长治市| 武川县| 靖州| 尚义县| 堆龙德庆县| 渝中区| 郯城县| 湖州市| 桐城市| 察隅县| 平阴县| 凌源市| 万源市| 永吉县| 遵义市| 昌图县| 修武县| 新和县| 建德市| 岑巩县| 抚顺市|