私はこのチュートリアルに従おうとしています: 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/