掲題の通りです.
tl;dr
cwdとはcurrent working directoryです.
docker buildひいてはdocker-compose buildは,cwdをdocker daemonに送信する- これをcontextと呼ぶ
- contextにあるファイルやディレクトリこそが,
Dockerfileで操作できるそれそのものである - 言い換えると,contextに入っていないファイルやディレクトリは,
Dockerfileでの操作の対象にできず,すなわちADDできない
- cwdに巨大なディレクトリがある場合,docker daemonに送信されるデータもまた巨大になり,レスポンスがしばらく帰らなくなる
docker-composeはこのとき,びっくりしてしまうのか,docker daemonが死んでいると判定してdocker compose buildを中止する- DBといったコンテナがあり,そのpermanent storageがcwdにある場合は,
.dockerignoreにそのディレクトリを登録してcontextから除外する必要がある
tldrで言い切ってしまいました.よかったですね.