この 2 つを合わせて通信できるようにした感じ。
- docker-compose.yml でリバースプロキシと backend アプリを定義しているので同じ docker network に所属している。 --> これで docker-compose.yml で定義したサービス名を名前解決してコンテナ間通信ができる。
- リクエストを受け取った際に nginx.conf に記載のある lua スクリプトが実行される。
- lua スクリプトにより動的にリクエストを転送するバックエンドが決まる。
- リクエストがバックエンドに転送される。
現状動作確認のみしかやってないが気が向いたら定期処理とか実行させたい。
docker compose run -it backend_app "/bin/bash"
root@d8ed0df88ad6:/usr/local/app# ls
Dockerfile app requirements.txt tests
__pycache__ config.ini run.py
root@d8ed0df88ad6:/usr/local/app# flask test hello
Hello, World.
- reverse proxy
- openresty
- lua-nginx-module
- backend
- flask
- gunicorn(サービス起動)
just download this repository.
コンソールのログみるのが一番わかりやすいのでターミナル 2 つあるといいかも。
docker buildx bake
docker compose up backend_app
docker compose up reverse_proxy