6

同じホストで実行されている 4 つの Docker コンテナーで構成される既存のアプリがあります。これらはコマンドを使用して相互にリンクされていますlink

ただし、docker のいくつかのアップグレードの後、link動作は非推奨になり、変更されたようです。現在、コンテナ同士のリンクが失われているという問題が発生しています。

そのため、docker はed コンテナーよりも新しいNetwork機能を使用するように言います。linkしかし、これがどのように機能するかわかりません。

2 つのコンテナが同じネットワーク内にある場合、同じENV変数がコンテナ上でリンクされているかのように自動的に公開されますか?

または、ホスト ファイルが正しいコンテナー名/IP アドレスで更新されていますか? docker restart?の後でも

コンテナがネットワーク内の別のコンテナの場所を見つける方法をドキュメントで見ることができませんか?

また、composeコンテナをリンクするための簡単なセットアップがあるように見え、これの一部を自動化する可能性があります-マルチコンテナアプリを定義するために作成する方法はありますか? それとも、本番環境で実行するには時期尚早ですか?

compose複数のホスト構成もサポートしていますか?

将来のある時点で、おそらくコンテナの 1 つを別のホストに移動する必要があります....

4

1 に答える 1

3

2 つのコンテナーが同じネットワーク内にある場合、同じ ENV 変数がコンテナー上でリンクされているかのように自動的に公開されますか?

いいえ、コンテナ名をホスト名として使用する必要があります。新しいネットワーク機能では、どのポートが使用されるかわかりません。これは、同じネットワーク ハブに接続された 2 台のコンピューターと考えてください。両方とも、ホスト名でもう一方をアドレス指定できます。

ホスト ファイルは正しいコンテナー名/IP アドレスで更新されていますか? ドッカーの再起動後でも?

はい、/etc/hostsネットワークの一部であるすべてのコンテナーのファイルは、docker エンジンによってライブで更新されます。

コンテナがネットワーク内の別のコンテナの場所を見つける方法をドキュメントで見ることができませんか?

コンテナ名の使用。ネットワーク コマンドの操作に関するドキュメント のコンテナーの接続セクションを参照してください。接続すると、コンテナーは別のコンテナーの IP アドレスまたは名前を使用して通信できます。

また、コンポーズはコンテナをリンクするためのシンプルなセットアップを持っているように見え、これの一部を自動化する可能性があります - コンポーズはマルチコンテナアプリを定義するための方法でしょうか? それとも、本番環境で実行するには時期尚早ですか?

Compose は、--x-networkingオプションを提供することで、新しいネットワーク機能をベータ版としてサポートします。まだ本番環境では使用しないでください(現在の Compose バージョンは 1.5 です)。

さらに、現在の実装は、プロジェクト名+ _+コンテナ名+で構成される完全なコンテナ名を使用する必要があるため、少し不便_1です。ドキュメントによると、次のバージョン (現在のバージョンは 1.5) ではこれが改善されるため、コンテナーに対応するプロジェクト名について心配する必要はありません。

Compose は複数のホスト構成もサポートしていますか?

はい、オーバーレイ ネットワークのドキュメントに記載されているように、Swarm と組み合わせて使用​​します。

于 2016-01-11T18:23:16.623 に答える