私はお互いに話す必要のある多くのDockerベースのマイクロサービスを持っています。彼らはお互いに話すためにコンテナ名を使用します。したがって、Docker SwarmまたはKubernetes(w Flannel)でこれを実行すると、Docker DNSに依存してコンテナ名がIPアドレスに解決されます。与えられたドッカーコンテナ名を指定したmesos/marathonを設定する
今、私はこの同じセットのマイクロサービスをMesos + Marathonで実行しようとしていますが、問題が発生しました。すべてのマイクロサービス(Marathon app.App APIを使用)を起動すると、mesosには「mesos-some_long_hash」という名前が付けられます。コンテナが起動されたマシンに「docker ps」と入力すると、この名前が表示されます。したがって、これらのメソスがコンテナ名を割り当てられているため、マイクロサーブは互いに検索できません。
実験として、(Marathon app.appContainer.DockerContainer APIの下の 'parameters'を使用して)必要な名前にコンテナ名を強制しました。マイクロサービスは機能しますが、Marathonはこれらの "mesos-some_long_hash"という名前を期待しているので混乱します。デプロイ時に停止していると報告しています。
私は "mesos-some_long_hash"という名前を望まず、代わりに自分が選んだ名前(サービス名)を使用することをMarathon API経由で指示する方法が必要です。私はMarathonアプリのAPIでこれを行うことは明らかではありません。
誰でもこの方法を知っていますか?
編集: 私はちょうどmesosのコンテナライターについてこれを見つけました。 http://mesos.apache.org/documentation/latest/docker-containerizer/
コンテナ名を変更することはできません。これはひどい!メソス/マラソンフリークアウトをせずにコンテナに名前を付けることができない場合、どのようにマイクロサービスアーキテクチャを実行しますか?
同意してから、[Mesos-DNS](https://github.com/mesosphere/mesos-dns)などのツールを使用して、 – js84