欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1.初始化swarm

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

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

群模式將它變成了一個多主機集群感知引擎。

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

這是通過

$ 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.

在第二臺主機上執(zhí)行下面的命令,將它作為一個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,可以定義一個Docker部署以及生產(chǎn)細(xì)節(jié)。

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

一個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:

該文件已擴展到利用群集部署選項。

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

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

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

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

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

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

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

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

3.部署服務(wù)

Docker Compose文件被稱為Docker Compose Stack。

堆疊可以通過CLI部署到Swarm。

docker stack命令用于通過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

可以通過以下方式發(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ù),那么這將是不同的。

每個服務(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é)

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

相關(guān)文章

  • docker-compose的build使用方式

    docker-compose的build使用方式

    這篇文章主要介紹了docker-compose的build使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker中如何啟動已存在容器

    docker中如何啟動已存在容器

    這篇文章主要介紹了docker中如何啟動已存在容器問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Docker管理之碎片知識整理小結(jié)

    Docker管理之碎片知識整理小結(jié)

    本文旨在匯總整理Docker日常管理之知識碎片,以便日后回顧查看參考。文中通過示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下
    2021-11-11
  • Docker中忽略文件的實現(xiàn)

    Docker中忽略文件的實現(xiàn)

    Docker忽略文件是指在Docker鏡像構(gòu)建過程中,用于忽略指定文件或目錄的一種機制,本文主要介紹了Docker中忽略文件的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • docker?swarm快速部署redis分布式集群的詳細(xì)過程

    docker?swarm快速部署redis分布式集群的詳細(xì)過程

    這篇文章主要介紹了docker?swarm快速部署redis分布式集群,只需要通過docker-compose.yml文件和一個啟動命令就完成redis分布式部署的方式,讓其分別部署在不同機器上,并實現(xiàn)集群搭建,需要的朋友可以參考下
    2022-10-10
  • CentOS7虛擬機安裝并配置docker套件

    CentOS7虛擬機安裝并配置docker套件

    這篇文章主要介紹了CentOS7虛擬機安裝并配置docker套件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 詳解基于Docker的服務(wù)部署流程

    詳解基于Docker的服務(wù)部署流程

    這篇文章主要介紹了詳解基于Docker的服務(wù)部署流程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Docker容器從鏡像恢復(fù)代碼的操作步驟

    Docker容器從鏡像恢復(fù)代碼的操作步驟

    這篇文章主要介紹了Docker容器從鏡像恢復(fù)代碼的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker 中的 bootfs、rootfs 簡介

    Docker 中的 bootfs、rootfs 簡介

    Docker中的bootfs和rootfs是容器文件系統(tǒng)的兩個層次,bootfs負(fù)責(zé)內(nèi)核啟動,而rootfs提供運行環(huán)境,容器共享宿主機內(nèi)核,因此沒有獨立的bootfs,只使用精簡的rootfs,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Docker容器使用方法詳解

    Docker容器使用方法詳解

    容器是基于鏡像創(chuàng)建的,容器中的進(jìn)程依賴于鏡像中的文件,那么本篇文章我們就來深入學(xué)習(xí)容器的基本操作方法,通過示例來加深各位看官對docker容器操作的理解以及記憶,需要的朋友可以參考下
    2022-07-07

最新評論