Dockerでコンテナ内のプロセスからホストのプロセスに接続する方法
1569 ワード
Linuxの話です。WindowsやMacでは以下の設定は不要らしい。
Docker単体で使う場合とDocker Composeを使う場合の2パターンを解説。
共通事項
以下の設定でhost.docker.internal
がホストのアドレスに解決される。よってコンテナ内のプロセスからこのドメイン名に接続するとコンテナ外のホストのプロセスに接続できる(ホストは0.0.0.0
等のアドレスで待ち受ける必要あり)。
Docker単体で使う場合
docker run --add-host host.docker.internal:host-gateway IMAGE
解説
docker run --add-host host.docker.internal:host-gateway IMAGE
--add-host
でコンテナ内の/etc/hosts
にエントリを追加できる。ここでhost-gateway
を名前解決先に指定するとホストのアドレスにしてくれる模様。
Docker Composeを使う場合
services:
SERVICE:
image: IMAGE
extra_hosts:
- host.docker.internal:host-gateway
解説
services:
SERVICE:
image: IMAGE
extra_hosts:
- host.docker.internal:host-gateway
extra_hosts
でコンテナ内の/etc/hosts
にエントリを追加できる。ここでhost-gateway
を名前解決先に指定するとホストのアドレスにしてくれる模様。
あとがき
Docker Composeの場合はよく解説されているが、Docker単体の場合はあまり出てこなかったので一応書いた記事。
Author And Source
この問題について(Dockerでコンテナ内のプロセスからホストのプロセスに接続する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/silane1001/items/973f32e05defe254408c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .