1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

dockerを使用中flaskのapp.run()の設定を間違えてホストマシンからアクセスできなかった話

Posted at

内容

最近、Dockerを使ってPythonのWebアプリを開発しています。Dockerコンテナを起動して、Flaskのサーバーを起動し、ホストマシンからアクセスできるようにしました。ただし、通常、app.run(host="0.0.0.0", ~~)のように記述することで、localhostからアクセスできるようになります。

このプロジェクトでは、app.run()を書く場所がapp.pyrun.pyの2つあったのですが、app.pyにだけhost="0.0.0.0"を記述していました。そのため、ホストマシンからアクセスすることができず、問題が発生しました。

最終的に、app.pyrun.pyの両方にhost="0.0.0.0"を記述することで、ホストマシンからアクセスできるようになりました。プログラミングを行う際には、細かい部分も見逃さずにチェックすることが大切です。

dockerfile

# ベースイメージを指定
FROM python:3.9

# ワーキングディレクトリを設定
WORKDIR /app

# 必要なパッケージをインストール
RUN pip install flask

# ポート番号を指定
EXPOSE 5000

# アプリケーションを実行
CMD ["flask", "run", "--host=0.0.0.0"]

ディレクトリ構造

本アプリは、じゃんけんアプリを想定。

C:.
│  docker
│  dockerfile
│  run.py
│
└─app
    │  app.py
    │
    ├─static
    │      choki.png
    │      gu.png
    │      pa.png
    │
    ├─templates
    │      index.html
    │      janken.html
    │      root.html
    │
    └─__pycache__
            app.cpython-39.pyc

締め

今回の記事を読んでいただき、ありがとうございました。何か質問やコメントがあれば、お気軽にお聞きください。また、次回の記事もお楽しみに!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?