この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 8925|答える: 0

外部ホストサービスにアクセスするためのDockerコンテナ

[リンクをコピー]
掲載地 2019/11/19 10:10:01 | | | |
Dockerコンテナのデフォルトネットワークはブリッジの形で(ホストと同じLAN内ですが別のLAN IPを使用)、本番環境でプログラムが動いているときは、対応するサービスアドレスを設定してデータベースやRedisなどに接続するだけです。

開発環境では、サービスがDockerで動作し、データベースがローカルで動作する場合、127.0.0.1の設定は簡単ではありません。

これは二つの方法で解決できます。

解決策1:

ホストマシンとコンテナを別々のマシンとして扱い、アドレス設定時にホストホストのLAN IPまたはパブリックIPを設定しましょう。

解決策2:

ただし、ホストアドレスは直接 host.docker.internal と書きます。2つ目の方法は、18.03以上のdockerバージョンが必要で、WindowsとMacで利用可能である必要があります

これら2つの方法がホストにアクセスできるかどうかをテストするには、dockerで直接イメージを実行してコマンドラインにpingを送ることができます。

Dockerで構築したコンテナにpingツールをインストールしてください
https://www.itsvse.com/thread-8966-1-1.html
(出典:Architect_Programmer)


上の画像からもわかるように、コンテナアクセスhost.docker.internalホストのサービスにアクセスすると、/etc/hostsファイルを確認するとドメイン名のリダイレクトがなく、dockerの具体的な原理もわからないことがわかります。

ホストとコンテナの両方がhost.docker.internalを通じてホストのサービスにアクセスできますが、pingコマンドで返されるアドレスは以下の通り異なります。









先の:例として、Redisのキャッシュ貫通、キャッシュアバランチ、キャッシュのブレイクダウンについて説明します
次に:Autofac「循環部品依存性検出」エラーが解決されました
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com