.dockerignore の悩み
こいつ、 .gitignore
を同じ仕様に見えて微妙に若干違ったりするので、 .gitignore
からコピペで生成したりすると良きせぬファイルが混じってセキュリティの低下や転送時間増加を招くことがある。
解決策
すべてを無視する設定を1行目に入れ、 !
始まりで選択的にディレクトリやファイルを指定することでdocker build時に最小限のファイル転送で済むようになる。
# すべてを無視する
**
# ただし、以下は許可する
!prisma/**
!src/**
!test/**
!.tool-versions
!nest-cli.json
!package.json
!pnpm-lock.yaml
!tsconfig*
唯一、後に転送が必要になる親ディレクトリを足した際に .dockerignore
の更新を忘れる可能性があるという欠点があるが、今のところこれが .dockerignore
設定のベストプラクティスだと思う。