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

Docker swarm如何通過(guò)docker-compose部署應(yīng)用

 更新時(shí)間:2024年02月04日 10:26:09   作者:ghostwritten  
這篇文章主要介紹了Docker swarm如何通過(guò)docker-compose部署應(yīng)用問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1.初始化swarm

默認(rèn)情況下,Docker作為一個(gè)隔離的單節(jié)點(diǎn)工作。

所有容器僅部署在引擎上。

群模式將它變成了一個(gè)多主機(jī)集群感知引擎。

為了使用秘密功能,Docker必須處于“群模式”。

這是通過(guò)

$ docker swarm init
Swarm initialized: current node (ean4r3wx8dutbj2hlkp4lsfu0) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-2t5z3yzsmq4xlhilsuh04ltiprnqt1h1cv8gmmaq6eip3day99-advgpojck21b1hlh3v6vgpncq 172.17.0.86:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

在第二臺(tái)主機(jī)上執(zhí)行下面的命令,將它作為一個(gè)worker添加到集群中。

$ token=$(ssh -o StrictHostKeyChecking=no 172.17.0.86 "docker swarm join-token -q worker") && docker swarm join 172.17.0.86:2377 --token $token
Warning: Permanently added '172.17.0.86' (ECDSA) to the list of known hosts.
This node joined a swarm as a worker.

2.創(chuàng)建 Docker Compose 文件

使用Docker Compose v3,可以定義一個(gè)Docker部署以及生產(chǎn)細(xì)節(jié)。

這為管理可以部署到集群模式集群中的應(yīng)用程序部署提供了一個(gè)中央位置。

一個(gè)Docker Compose文件已經(jīng)創(chuàng)建,它定義了使用web前端部署Redis服務(wù)器。

使用以下命令查看文件.

$ cat docker-compose.yml
version: "3"
services:
  redis:
    image: redis:alpine
    volumes:
      - db-data:/data
    networks:
      appnet1:
        aliases:
          - db
    deploy:
      placement:
        constraints: [node.role == manager]

  web:
    image: katacoda/redis-node-docker-example
    networks:
      - appnet1
    depends_on:
      - redis
    deploy:
      mode: replicated
      replicas: 2
      labels: [APP=WEB]
      resources:
        limits:
          cpus: '0.25'
          memory: 512M
        reservations:
          cpus: '0.25'
          memory: 256M
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      update_config:
        parallelism: 1
        delay: 10s
        failure_action: continue
        monitor: 60s
        max_failure_ratio: 0.3
      placement:
        constraints: [node.role == worker]

networks:
    appnet1:

該文件已擴(kuò)展到利用群集部署選項(xiàng)。

第一個(gè)配置選項(xiàng)使用depends_on。這意味著Redis必須在網(wǎng)絡(luò)之前部署,并允許我們控制服務(wù)啟動(dòng)的順序。

下一個(gè)配置選項(xiàng)定義應(yīng)該如何使用新的部署選項(xiàng)部署應(yīng)用程序。

首先,mode: replicatedreplicas: 2決定服務(wù)應(yīng)該啟動(dòng)多少個(gè)replicas。

其次,定義資源。限制是應(yīng)用程序不能超過(guò)的硬限制,預(yù)留是Docker Swarm指示應(yīng)用程序需要的資源的指南。

第三,restart_policy指出進(jìn)程崩潰時(shí)應(yīng)該如何操作。

第四,update_config定義如何應(yīng)用和推出更新。

最后,位置允許我們添加約束,以確定服務(wù)應(yīng)該部署在哪里。

更多docker-compose file文件配置細(xì)節(jié)請(qǐng)參考

3.部署服務(wù)

Docker Compose文件被稱為Docker Compose Stack

堆疊可以通過(guò)CLI部署到Swarm。

docker stack命令用于通過(guò)Swarm部署docker Compose stack。

在本例中,它將以myapp作為服務(wù)的前綴。

$ docker stack deploy --compose-file docker-compose.yml myapp
Creating network myapp_appnet1

一旦部署完畢,就可以使用CLI檢查狀態(tài)。

$ docker stack ls
NAME                SERVICES            ORCHESTRATOR
myapp               2                   Swarm

可以通過(guò)以下方式發(fā)現(xiàn)內(nèi)部服務(wù)的詳細(xì)信息

$ docker stack services myapp
ID                  NAME                MODE                REPLICAS            IMAGE                                       PORTS
l8c8oztncboc        myapp_web           replicated          2/2                 katacoda/redis-node-docker-example:latest   

注意,該命令指示服務(wù)的Desired / Running狀態(tài)。

如果不能部署服務(wù),那么這將是不同的。

每個(gè)服務(wù)容器的詳細(xì)信息可以使用

$ docker stack ps myapp
ID                  NAME                IMAGE                                       NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
x90dytk7svj7        myapp_web.1         katacoda/redis-node-docker-example:latest   host02              Running             Running 3 minutes ago                       
92a3t08318ne        myapp_redis.1       redis:alpine                                host01              Running             Running 3 minutes ago                       
ikmrz4pufzyd        myapp_web.2         katacoda/redis-node-docker-example:latest   host02              Running             Running 3 minutes ago                       

所有這些信息仍然可以被發(fā)現(xiàn)使用

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
21bbc04a9e8d        redis:alpine        "docker-entrypoint.s…"   3 minutes ago       Up 3 minutes        6379/tcp            myapp_redis.1.92a3t08318neq5g5sd1akrwzo

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker設(shè)置固定IP地址的方法詳解

    Docker設(shè)置固定IP地址的方法詳解

    Docker支持多種網(wǎng)絡(luò)模式,包括Bridge、Host、None等,Bridge模式為默認(rèn),允許容器通過(guò)橋接網(wǎng)絡(luò)相互通信,這篇文章主要介紹了Docker設(shè)置固定IP地址的相關(guān)資料,需要的朋友可以參考下
    2024-11-11
  • 物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式

    物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式

    這篇文章主要介紹了物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • docker exec執(zhí)行多個(gè)命令的操作

    docker exec執(zhí)行多個(gè)命令的操作

    這篇文章主要介紹了docker exec執(zhí)行多個(gè)命令的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • docker容器增加端口映射全過(guò)程(修改配置文件方式)

    docker容器增加端口映射全過(guò)程(修改配置文件方式)

    文章詳細(xì)描述了如何通過(guò)修改Docker容器的配置文件來(lái)增加端口映射,以解決已經(jīng)運(yùn)行的容器需要增加端口映射的問(wèn)題,以MySQL容器為例進(jìn)行了具體操作步驟的說(shuō)明
    2024-11-11
  • Docker添加tomcat容器無(wú)法訪問(wèn)首頁(yè)解決方案

    Docker添加tomcat容器無(wú)法訪問(wèn)首頁(yè)解決方案

    這篇文章主要介紹了Docker添加tomcat容器無(wú)法訪問(wèn)首頁(yè)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • docker-compose安裝Jenkins的實(shí)踐筆記

    docker-compose安裝Jenkins的實(shí)踐筆記

    jenkins是一個(gè)比較強(qiáng)大的自動(dòng)構(gòu)建工具, Jenkins是開(kāi)源CI&CD軟件領(lǐng)導(dǎo)者,提供超過(guò)1000個(gè)插件來(lái)支持構(gòu)建、部署、自動(dòng)化,本文給大家介紹docker-compose安裝Jenkins的實(shí)踐筆記,感興趣的朋友一起看看吧
    2021-09-09
  • 使用Jenkins+docker打包部署后端服務(wù)的實(shí)現(xiàn)

    使用Jenkins+docker打包部署后端服務(wù)的實(shí)現(xiàn)

    本文主要介紹了使用Jenkins+docker打包部署后端服務(wù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn)(圖文)

    docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn)(圖文)

    Vaultwarden是一個(gè)開(kāi)源的密碼管理器,它提供了類似于Bitwarden的功能,允許用戶安全地存儲(chǔ)和管理密碼、敏感數(shù)據(jù)和身份信息,本文主要介紹了docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn),感興趣的可以了解一下
    2023-10-10
  • 使用docker搭建嵌入式Linux開(kāi)發(fā)環(huán)境

    使用docker搭建嵌入式Linux開(kāi)發(fā)環(huán)境

    本文主要介紹了使用docker搭建嵌入式Linux開(kāi)發(fā)環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • Docker鏡像壓縮與優(yōu)化操作

    Docker鏡像壓縮與優(yōu)化操作

    這篇文章主要介紹了Docker鏡像壓縮與優(yōu)化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11

最新評(píng)論

沂南县| 原平市| 娱乐| 马龙县| 连江县| 阿坝县| 临夏县| 万全县| 竹北市| 子长县| 米脂县| 岳普湖县| 阿鲁科尔沁旗| 滁州市| 彩票| 稷山县| 南充市| 海林市| 思茅市| 高淳县| 平昌县| 赣榆县| 河源市| 盘锦市| 丘北县| 馆陶县| 连州市| 合作市| 双城市| 攀枝花市| 五大连池市| 旌德县| 广东省| 新建县| 桐柏县| 永仁县| 延庆县| 门头沟区| 南通市| 松原市| 寻乌县|