概要

Dockerのコンテナからコンテナを実行しているホストマシンにアクセスしたいということがあります。

その場合に、どのようにしてホストマシンに接続するのかを紹介します。

方法

そもそも、Dockerのコンテナからホストへ接続できるのかという問題があるのですが、それはできます。

では、どのようにして接続するのかというと、ホストへDocker用に割り当てられたIPがあるので、それを指定します。

それをどのようにして知るのかというと、ip addrifconfigのようなコマンドを実行すると知ることができます。

通常、Docker用にdocker0という名前のネットワークデバイスが作成されています。なので、ip addrというコマンドを実行すると、次のようにIPアドレスなどを含めたdocker0の情報が表示されます。

4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:9d:56:0d:8e brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:9dff:fe56:d8e/64 scope link

注目するのは、 inet 172.17.0.1/16の部分です。ここにDockerのコンテナからホストマシンにアクセスするためのIPアドレスが書かれています。

ここでは、172.17.0.1というのがホストマシンに接続するためのIPアドレスになります。

このIPアドレスは環境によって変わるので、それぞれの環境で確認する必要があります。

さいごに

あまり情報がなく、苦労しました。

同じ悩みを持つ人の参考になれば幸いです。