6

私はこのチュートリアルに従おうとしています: https://docs.docker.com/engine/swarm/swarm-tutorial/

いくつかの実際の Linux ホストまたはローカル VM で実行する代わりに、 Docker Desktop for Macを実行している 2 台の MacBook をネットワークで接続したいと考えています。

チュートリアルに従って、Docker デスクトップ for Mac を 2 台のマシンにインストールしました。最初のマシンのターミナルでdocker swarm create動作し、CA ハッシュと ID を作成します。

2 台目のマシンに続けて、結合コマンドを一方から他方に貼り付けて実行します。

2 台目のマシンが接続できません。出力に表示される IP アドレスは明らかに仮想マシン内の IP アドレスであり、自分のマシン上のアドレスではないため、これは予期されることです。ローカル ネットワーク アダプターのアドレスを指定してチュートリアルから逸脱しようとしましたが、そのアドレスにバインドできないと表示されます。すべてのポートが開いており、マシンが相互に接続できることがわかっています。

したがって、チュートリアルの目的や、2 台の Mac が通信できるようにセットアップする方法を根本的に誤解しているように思えます。解決策をグーグルで検索すると、私がする必要があることにはいくつかの可能性があるようです:

分散型 kv ストアを実行して、swarm ネットワークの調整を支援します (しかし、これが新しいオーケストレーションのポイントではないでしょうか?) ネットワーク アダプターから alpine Linux docker デーモンまでのポート トンネルを各マシンにセットアップします あきらめて、クラスターをテストするだけですローカルに

更新: さらに調査した結果、このガイドを使用してオーバーレイ ネットワークを作成する必要があるようです。ただし、このガイドでは docker-machine を使用します。私が理解している限り、Mac 用の Docker デスクトップと一緒に docker-machine を使用する必要があります/使用できませんか、それとも正しくありませんか?

https://docs.docker.com/engine/userguide/networking/get-started-overlay/

4

3 に答える 3

4

VM 内の Docker デーモン ポートをホスト ネットワーク インターフェイスに昇格させるには、ポート トンネルを設定する必要があります。別のマシンのデーモンにアクセスできるかどうかを確認するには、https://otherMachineIp:DaemonPort/v1/_pingを使用します。これが成功すると、他のデーモンにアクセスして群れをセットアップできます。

ところで、同じ docker バージョンを使用している限り、Docker for Mac と docker-machine を一緒に使用しても問題は発生しません。

于 2016-07-29T14:58:08.527 に答える
0

Docker 1.12 以降、これは不可能です。これは、後のバージョンで機能する可能性があります。

于 2016-08-02T05:28:11.563 に答える