Dockerコンテナ内でもlocalhostを使いたい!
みなさんこんにちは!
イザナギです。
関東といえど、冬は寒いですね...
先日ラーメン屋で並んでた時、薄着で行ったせいで待ち時間の間寒くてずっと震えてましたw
冬舐めたらいけませんね。
さて、話題変わりまして今回はDockerについてです。
Dockerコンテナ内から「localhost」にアクセスするには
最近Docker+Jupyter Notebookを使ってとある検証をしていたのですが、
別コンテナで起動しているプログラム「localhost:8080」にアクセスしなければなりませんでした。
※docker-composeは使っていません。
検証環境は以下の通りです。
- OS: Mac(M1)
- Docker: 20.10.11
- Python:3.9.6
- ツール:Jupyter Notebook
普通に「localhost:8080」でいけるっしょ!って思ってましたが、全然アクセスできず...
Jupyter Notebookの設定かなと思いつつ、コンテナ内にbashで入ってcurlコマンドを実行してみても変わらず...
httpとか書く必要があるのか?とかしばらくインターネットで調べまくってました。
調べまくった結果「lcoalhost」ではなく、以下記載でいけるようです。
host.docker.internal:8080
まじか!これだけかよ!
と思いつつ実行してみた結果、あっさりと繋がった...
一文を調べるために、結構時間使っちゃったなw
まあ、解決したしいいか!
今回は短いですが、ここで筆を置かせていただきます。
最後まで記事をご覧いただきありがとうございました。
参考:
Networking features in Docker Desktop for Mac
Dockerコンテナ内からホストへ`localhost` でアクセスしてみる