dockerとflaskの勉強をしているものです。
よろしくお願いいたします。
実現したいこと
・Flask側のソースコードを変更したにもかかわらず、変更内容が反映されません。
・変更内容が即時に反映される方法を模索しています。
前提
・Docker + uWSGI + Nginx + Flask で開発環境を構築しています。
・Dockerコンテナを再起動すると変更内容が反映されます。
dockerファイルの設定方法やflask側の設定方法が間違っているや、
別のツールを入れる必要などございましたら、ご教示いただけると幸いです。
ディレクトリ構造
. ├── docker-compose.yml ├── server │ ├── Dockerfile │ ├── config │ │ └── requirements.txt │ │ └── uwsgi.ini │ └── src │ └── app.py └── nginx ├── Dockerfile └── config └── nginx.conf
ソースコード
・docker-compose.yml
version: '3' services: server: container_name: server build: ./server ports: - "3031:3031" volumes: - ./server:/var/www/app nginx: container_name: nginx build: ./nginx restart: always volumes: - ./nginx/config/nginx.conf:/etc/nginx/nginx.conf depends_on: - server ports: - "8080:80"
・server/Dockerfile
FROM python:3.8-alpine WORKDIR /var/www/app COPY . . RUN apk add gcc build-base linux-headers RUN addgroup -S uwsgi && adduser -S -G uwsgi uwsgi RUN pip install -U pip \ && pip install --no-cache-dir -r /var/www/app/config/requirements.txt CMD ["uwsgi", "--ini", "/var/www/app/config/uwsgi.ini"]
・server/src/app.py
from flask import Flask, redirect, url_for, render_template app = Flask(__name__) @app.get('/') def index(): return 'Hello world' if __name__ == "__main__": app.run(debug=True, host='0.0.0.0')
・server/config/uwsgi.ini
[uwsgi] master = True socket = :3031 chdir = /var/www/app/ wsgi-file = /var/www/app/src/app.py callable = app logto = /var/log/uwsgi.log
試してみたこと
キャッシュの問題かと思い、スーパーキャッシュクリアをしたのですが、
変更は反映されませんでした。
FW/ツールのバージョン
Flask==2.0.3 uwsgi==2.0.20
どうぞよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/02/12 12:02