.dockeriignore
噂に聞いた話レベルだが、本当に効果があった。
.docker-compse.yml と同じディレクトリに .dockerignore を設置して、不必要なディレクトリを無視してやる。
/log
/vender
まだ概要把握中。
別の方法?
logディレクトリなどをマウントしない方法もあるみたいだけど、これだとマウントされなくなってしまうしな。
Rails開発等でdocker-composeを使うと非常に遅い場合があります(特にDocker For Mac)。
docker-compose時に余計なファイルをマウントしてしまってるのが原因らしいので、.git, log, tmp, vendor >などのホストからマウントする必要のないディレクトリを別のvolumeでマウントを上書きしてしまえば解消されます。
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile.dev
environment:
RAILS_POSTGRES_HOST: db
ports:
- "3000:3000"
volumes:
- .:/app:cached
- bundle:/usr/local/bundle:cached
# 1. exclude volumes
- /app/vendor
- /app/tmp
- /app/log
- /app/.git
...
関連
Dockerfile リファレンス — Docker-docs-ja 17.06.Beta ドキュメント
docker-compose build too slow (not response) · Issue #6409 · docker/compose
Original by Github issue
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。