何が起きたか
Docker for Mac の Mutagen-based caching で Volume のパフォーマンスが劇的に改善した
こちらの記事を見て試してみたらrspecとかrubocopとか爆速になってうおおおおおおってなったけど
swagger.ymlのホスト側での変更がredocのコンテナ内に反映されなくなってしまった
しかし、railsプロジェクトの方は問題なく反映されていてなんでだろうと思ったら
原因
docker-compose.yml
version: '3'
services:
redoc:
image: redocly/redoc:latest
volumes:
- ./swagger.yml:/usr/share/nginx/html/swagger.yml
environment:
SPEC_URL: swagger.yml
ports:
- 8081:80
volumesで
- ./swagger.yml:/usr/share/nginx/html/swagger.yml
と書いていたこと
どうやらファイル単位での指定をすると反映がされなくなるようだ
なんでかはわからん、暇な時に気が向いたら調べる
解決策
ディレクトリ単位でマウントする
docker-compose.yml
version: '3'
services:
redoc:
image: redocly/redoc:latest
volumes:
- ./swagger:/usr/share/nginx/html/swagger
environment:
SPEC_URL: swagger/swagger.yml
ports:
- 8081:80
ちなみに
Mutagen-based caching使ったらrspecとか4倍ぐらい早くなるので
railsをdocker使って開発してて遅いなぁって困ってる人にはとてもおすすめ
もうdocker for mac遅いなんて言わせない!!!!!
edge版なので何があるかわからんけど