🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

1回答

1698閲覧

Dockerコンテナ内からLAN内の他のWebサービスにアクセスする方法がわかりません

teraterakoya

総合スコア8

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2019/10/16 04:17

前提・実現したいこと

Docker でコンテナを立てて,LAN内の別のサービスにアクセスしたいのですが,方法がわかりません

ホストマシンA上で動くコンテナから,ホストマシンB上で動くWebサービスにアクセスしようとしたいです

ホストマシンAとホストマシンBは同一LAN内にあります

LAN内のサービスはA,Bと同一LAN内のホストマシンCによって名前解決がされています

最終的にはホストマシンAで動いているコンテナをホストマシンB上で実行したいので,リクエストが

コンテナonホストマシンB→(DNS)→サービスonホストマシンB と通信できるようにしたいです

発生している問題・エラーメッセージ

ホストマシンA上にて,docker run --rm -it ubuntu:18.04 bashでコンテナ内に潜り,apt updateすることは出来ました
また,apt install curlなどでcurlpingをダウンロードでき,curl www.google.comなどしても正常な動作が見て取れたことからネットワークに異常はないと思います
しかし,ホストマシンB上で動くxxx.comにアクセスを試みたところ

root@07e99ab212eb:/# curl xxx.com curl: (7) Failed to connect to xxx.com port 80: Connection timed out

となってしまいます

なにか解決策や糸口をご存じの方いらしたら教えて下さい

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

-pオプションでポートフォワーディングができます。

たとえば、WebAPIのコンテナを利用する場合、

docker run --rm -p 8081:80 --name api-sample myimage

でコンテナをホストしているOSに対して8081番ポートでの接続をコンテナ内の80番ポートに接続することができます。

また、同じホストの別コンテナへの接続は

docker network create test-network

で作ることができ、こちらもコンテナを動作させる際に

docker run --rm -p 8081:80 --name api-sample --network test-network myimage

とすることでそのネットワークに参加させることができます。

docker network list

でネットワークIDを調べ、

docker inspect ネットワークID

でどのコンテナがそのネットワーク内にいるかを確認することもできます。

参考になれば幸いです。

投稿2019/10/16 04:25

s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teraterakoya

2019/10/16 04:38

同一ホスト内であればその方法を取るのですが,複数ホスト間でうまくいかないので困っています >コンテナonホストマシンB→(DNS)→サービスonホストマシンB と通信できるようにしたいです において稼働中のサービスはDockerを使っておらず,`docker network create`でうまく同居させられないという状況にあります><
s.t.

2019/10/16 04:49

>コンテナonホストマシンA→(DNS)→サービスonホストマシンB ということですかね?
s.t.

2019/10/16 07:14

curlコマンドに-vをつけたらどのようなメッセージになるでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問