Docker - An open platform for distributed applications for developers and sysadmins.

Dockerは1月15日(米国時間)、「Docker 1.10 Release Candidate Now Available: Important Tips on Updating Engines and Migrating Images to New IDs|Docker Blog」において、Docker 1.10 Release Candidateの公開を伝えるとともに、次期バージョンであるDocker 1.10においてイメージデータの扱いが変更になることを伝えた。アップグレードの際には移行処理が必要となるため注意が必要。

DockerではこれまでイメージデータとレイヤデータにはランダムにUUIDが割り当てられていたが、1.10以降はイメージデータとレイヤデータのSHA256ハッシュに基づいたIDが使われるようになる。この変更により、これまでよりもセキュリティが強化されるほか、IDの衝突回避やデータの完全性の確保ができるようになるとしている。

管理形式が変更となるため、1.10よりも前のバージョンからDocker 1.10にアップグレードする場合、データを1.10向けに変換する必要がある。Dockerをアップデートしてデーモンを再起動すると、コンテナを最初に起動するタイミングで移行処理が実施される。1秒当たり100MBほど処理が進むことを移行作業時間の1つの指針とするようにという説明がある。

コンテナの起動時に発生する移行処理の時間が許容できる場合には自動的に処理できるが、コンテナのダウンタイムを最小限にしたい場合は、現在のバージョンを動作させている間に移行ユーティリティを使って事前にハッシュ値を計算しておく方法も利用できる。