LoginSignup
1
2

More than 5 years have passed since last update.

Docker化したFlaskをデバッグする

Posted at

背景

ISUCON8に参加したときのメモです。

提供されたFlaskアプリをDocker化してローカル環境でデバッグしながら動かしていました。

使うもの

  • 何かしらのFlaskアプリ
  • wsgiサーバー(今回はgunicornですが、uwsgiなどでも応用できるはず)
  • Docker compose

1. docker-compose

環境変数の設定をdocker-composeに寄せています。DEBUGは真値っぽいものなら何でもいいです。

gunicornに渡す引数もこちらで指定しています。gunicornに--workers引数を渡してしまうとフォークモードになりデバッグができなくなるのでご注意を。

2. FlaskのDockerfile

https://gist.github.com/nerixim/00839bba3037b2a611b11179038c633f
Gunicornの設定はdocker-composeで済ませているのでこちらで指定必須のモジュール名だけをしてしています。
関係ないですが、apk add mariadb-dev build-baseでpythonのMySQLdbに必要なパッケージをインストールしています。

3. Flaskの設定

WerkzeugのDebuggedApplicationを挿入するのですが、PROPAGATE_EXCEPTIONSを指定しないとgunicornとうまく連携できないのでご注意を。

4. nginxの設定(一応)

終わりに

以上のファイルをうまく(?!)配置できればポート80からnginx -> gunicorn -> flaskにアクセスができデバッグもできるのでFlaskで環境構築を始めてやる人には少し参考になれば嬉しいです。

1
2
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
2