Docker Compose Watchが、bind mountの代わりに使えるというの、ちょと触って本当にそうか?ってなった。
Compose Watchのsync
アクションはpath
で指定したフォルダ内で変更があったファイルのみを同期するし、コンテナ起動時には同期しなかった。
ドキュメントにも起動時に同期するとは書いてない。
つまりbind mountを止めてCompose Watchを使うと、コンテナにコードのファイルが無い状態で起動してしまう。
DockerfileでCOPYすれば良いのかというと、まぁそれでいい場合も多いとは思うけど、コンテナを1回落としてイメージから起動しなおした場合、コードのファイルは過去にビルドした時の状態で恐らく古い。
そうすると、コンテナの立ち上げ直しをする時は、イメージのビルドもしないと事故る様な気がする。