Dockerを利用してコンテナに色々と手を加えているときに、docker自身やdockerを動かしているコンピュータがクラッシュした時のリカバリ手順についてまとめました.
クラッシュまでの作業をcommitしていなくても、クラッシュ時点からの作業を再開することが出来ます.
手順
以下のコマンドを実行して、クラッシュ時に利用していたコンテナを探します.
1 |
$ docker ps -a |
ポイントは-aオプションです.このオプションをつけると停止中のコンテナも含めて、すべてのコンテナを表示することができます.
表示された結果の STATUS 列を見ると、いつコンテナが終了したか確認できるのでクラッシュ時に利用していたコンテナの特定に便利です.
その後、対象のCONTAINER IDをcommitしてください.
1 |
$ docker commit <CONTAINER ID> [REPOSITORY[:TAG]] |
これで保存できたので、後は再度docker runを行うなりして、作業が再開できます.