はじめに
今回はアプリ開発をしている時にめちゃくちゃ悩まされた話。
解決までを順を追って解説していきます。
結論だけほしいわ!!という人は最後だけ見に行ってください。
どう解決したんだろうかと過程を知りたい人はこのまま読み進めてください。
問題点
「Docker 上に載っているアプリケーションがあります。Docker 内部から Docker を置いているPCのWiFiの接続状態を確認したいです。」
以上のような課題があり、解決するのに試行錯誤しました。
解決まで
解決までの流れを順番に書いていきます。
1. 問題に対してアバウトな解決案を考えて、ググる
『Dockerという家に引きこもっているアプリ君。どうにかして、外からWiFi君か似たような奴を家に連れ込みたい』
考えてみたものの私が最初に思ったことは『むっず!!』でしたが、とりあえず「Docker Wifi 確認」ググってみる。
Docker コンテナ・ネットワークの理解??>>>>違う!!
と陥ったわけです。
2. 問題解決方法の別の案を考える
この工程に行くまでに長いことかかってしまったのですが、上で考えたことを下記のように変換してみました。
『アプリ君とDockerの家をWiFi君に会えるところまでお引越しして確認すればいい』
なんだかいけるような気がしてきた!!
公式ドキュメントとにらめっこして、起動時にネットワークの場所を指定できると。。これだ!!ということで解決に至りました。
解決した内容
--netオプションを使ってhostを指定してあげる。ダダこれだけのためになかなか悩まされました。
例でいうと以下のように「--net=host」すればよいらしいです。
docker run -d --name=web1 --net=host vaibhavthakur/docker:webinstance1
余談ですが、別の方法でローカルホストを追加するという方法もあるようなので、その方法でも出来そうですね。一つ解決案が見えると別の解決方法が案外見えるのが意外ですね(-.-)
まとめ
固定概念を持たず、柔軟に考えることと公式ドキュメントを読むことの大切さを理解しました。これを機会に公式ドキュメントを読んで要約するのもありかと思えたので気が向いたらそんなこともやろうかと思います。