背景
Pythonの技術書[つくりながら学ぶ! Pythonセキュリティプログラミング]を用いて、
今回初めてDockerを使用した学習をしております。
※Docker未経験です。
実現したいこと
Docker上で構築したbottle環境のWEBサイトにアクセスしたいです。
同様の質問があったため、参考までに提示いたします。
https://teratail.com/questions/195241
発生している問題・エラーメッセージ
書籍の中でDocker上でbottleを起動させWEBサイトを表示する内容があるため、
同様にコードを書き実行しているのですがWEBサイトにアクセスすることができません。
pythonファイルはサンプルコードそのまま転記しており、
実行後以下の文が表示されるためコードに問題はないと考えております。
python3 bottle_sample.py Bottle v0.12.19 server starting up (using WSGIRefServer())... Listening on http://0.0.0.0:8080/
WEBサイトへのアクセス方法は次の手順で実施
①Dockerコンテナ内のシェルでコマンド[ python3 bottle_sample.py ]をたたく
②Dockerコンテナ内のシェルでコマンド[ hostname -i ]をたたく
③ブラウザのアドレスバーに[ http://②のアドレス:8080/ ]を入力
④[ このサイトにアクセスできません ②のアドレス からの応答時間が長すぎます。 ]が表示される
該当のソースコード
Python3
1from bottle import route 2from bottle import run 3from bottle import request 4 5@route('/') 6def hello(user=''): 7 username = request.query.get('user') 8 username = '' if username is None else username 9 10 html = "<h2> Hello { name } </h2>".format(name=username) 11 12 return html 13 14run(host='0.0.0.0', port=8080, debug=True)
試したこと
③ブラウザのアドレスバーに[ http://②のアドレス:8080/ ]を入力
書籍で上記の説明は[ http://<DockerコンテナのIPアドレス>:8080/ ]を入力となっておりました。
これに対して、Dockerコンテナ内のシェルで[ hostname -i ]や[ ifconfigで出力されたdocker0のinet]のIPアドレスでサイトにアクセスしてみましたが同様の結果となりました。
Dockerfileは書籍側が用意しているものを使いましたが、Dockerの設定に不備があるのでしょうか。
補足情報(FW/ツールのバージョンなど)
OS
->MacOS
Browser
->Google Chrome Ver.89
Python
->3.6.9
FW(bottle)
->0.12.19
回答2件
あなたの回答
tips
プレビュー