鳩舎

レースしない

Docker のキャッシュは mtime ベースっぽい

タイトルそのまんま。

Dockerfile ではすでに ADD したファイルの追加なんかはキャッシュされるのでスキップされる

# Dockerfile
FROM ubuntu

ADD text text

こんな感じの Dockerfile があったとして、これを2回ビルドすると、2回めの時には

Step 1 : ADD text text
 ---> Using cache
 ---> 9839a3ce35ab

みたいな表示になって、キャッシュの内容が使われる。

この後に touch text をすると

Step 1 : ADD text text
 ---> a4f64ca64ba7

てな具合に Using Cache がなくなって、またビルドが実行される。

ローカルだとほぼ問題ない挙動なんだけど、 CI 上でコンフィグを書き出してたりとかするとハマることがおおい(僕は s3cmd の sync ではまった)。

お気をつけて。