Docker-compose: 複数のホストにサービスをデプロイする 質問する

Docker-compose: 複数のホストにサービスをデプロイする 質問する

同じホストに 8 つの異なる Docker サービスを展開する docker-compose ファイルがあります。これを異なるホストに展開することは可能ですか?、あるサービスを 1 つのホストに展開し、別のサービスを別のホストにリモートで展開したいと考えています。docker-swarm を使用する必要がありますか? それとも、もっと簡単な方法がありますか?

DOCKER_HOST を使用すれば実行できると読んだことがありますが、この変数を使用して /etc/default/docker を構成すると、すべてのサービスがリモート ホスト上で実行されてしまいます。必要なのは、一部のサービスを 1 つのリモート ホストに、その他のサービスを他のリモート ホストに配置することです。

ベストアンサー1

  • 現在、docker compose v3 を使用してこれを実行できます。

    https://docs.docker.com/engine/swarm/#機能ハイライト 詳しくはこちら

  • コマンドを使用してSwarmクラスタを初期化する必要があります

    $ docker swarm init

  • ワーカーまたはマネージャーとしてノードを追加できます -

    https://docs.docker.com/engine/swarm/join-nodes/

  • 両方のノードをクラスターに追加したら、Compose v3、つまりデプロイメント ファイルを渡してスタックを作成します。Compose ファイルには定義済みのイメージのみを含める必要があり、Swarm モードでのデプロイメント用の Dockerfile を提供することはできません。

    $ docker stack deploy -c dev-compose-deploy.yml --with-registry-auth PL

  • スタックサービスのステータスを表示します -

    $ docker stack services PL

  • ラベルと配置の制約を使用して、サービスを異なるノードに配置するようにしてください。

参考用の「dev-compose-deploy.yml」ファイルの例-

version: "3"

services:

  nginx:
    image: nexus.example.com/pl/nginx-dev:latest
    extra_hosts:
      - "dev-pldocker-01:10.2.0.42”
      - "int-pldocker-01:10.2.100.62”
      - "prd-plwebassets-01:10.2.0.62”
    ports:
      - "80:8003"
      - "443:443"
    volumes:
      - logs:/app/out/
    networks:
      - pl
    deploy:
      replicas: 3
      labels:
        feature.description: “Frontend”
      update_config:
        parallelism: 1
        delay: 10s
      restart_policy:
        condition: any
      placement:
        constraints: [node.role == worker]
    command: "/usr/sbin/nginx"

  viz:
    image: dockersamples/visualizer
    ports:
      - "8085:8080"
    networks:
      - pl
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    deploy:
      replicas: 1
      labels:
        feature.description: "Visualizer"
      restart_policy:
        condition: any
      placement:
        constraints: [node.role == manager]

networks:
pl:

volumes:
logs:

おすすめ記事