たとえば
% docker run -it --name hoge ubuntu /bin/bash
root@db1da9fc72e9:/# useradd hoge
root@db1da9fc72e9:/# exit
% docker diff hoge
C /etc
C /etc/group
A /etc/group-
C /etc/gshadow
A /etc/gshadow-
C /etc/passwd
A /etc/passwd-
C /etc/shadow
A /etc/shadow-
C /etc/subgid
A /etc/subgid-
C /etc/subuid
A /etc/subuid-
C /root
A /root/.bash_history
C /var
C /var/log
C /var/log/faillog
C /var/log/lastlog
% docker start -i hoge
root@db1da9fc72e9:/# diff /etc/passwd{,-}
...
みたいな感じにコマンドがどういう変更を行うのかを追いやすい。
ちなみに先頭のアルファベットの意味は下記の通り。
- A - Add
- D - Delete
- C - Change
差分も表示してくれると嬉しいがそういうオプションはなさそう。
そういうときはdocker exportしてtarballを吐いて、コンテナ間の差分を見れば良いのかな。