docker composeを使ってnode製アプリを動かそうとしたら、しょうもない.envのミスでめちゃくちゃ時間を溶かしてしまいました‥
戒めを込めて何がダメだったのか書き残しておきます。
TL;DR
commandに関して、プロジェクトのルートでnode app.jsとすべきところをnode /app/app.jsとしてしまっていた。
これだと.envが正しく読み込まれないので、/appに移動してからnode app.jsしましょう。
詳しい状況
こんなdocker-compose.yml書いてました。←ここがダメと書いてあるところが問題で、こいつをnode app.jsに書き換えて、working_dirを付け足せばokです。
docker-compose.yml
version: '3.1'
services:
app:
image: node:latest
command: node /app/app.js # ←ここがダメ
volumes:
- ./:/app/
tunnel:
image: cloudflare/cloudflared
command: tunnel run
environment:
...
直したやつ:
docker-compose.yml
version: '3.1'
services:
app:
image: node:latest
working_dir: /app
command: node app.js
volumes:
- ./:/app/
tunnel:
image: cloudflare/cloudflared
command: tunnel run
environment:
これで.envが読み込まれるようになります