データボリュームを使うと、複数コンテナでデータを共有することができる。
データボリュームは、永続または共有データに関して、幾つかの役立つ機能を提供する。
- ボリュームはコンテナ作成時に初期化される。コンテナのベースイメージが指定されたマウントポイントのデータを含む場合、そのデータは新しいボリュームへコピーされる。
- データボリュームはコンテナ間で共有及び再利用されることができる。
- データボリュームへの変更は直ちに行われる。
- イメージを更新する時、データボリュームへの変更は含まれない。
- コンテナ自身が削除される場合でも、データボリュームは永続化される。
サンプル
ボリュームを作成するには、実行時に-vコマンドでボリューム名を指定する。
1 |
$ sudo docker run -v /data centos /bin/bash -c "echo data123 > /data/file" |
別のコンテナからボリュームを参照するには、実行時に–volume-fromでコンテナのIDを指定する。
1 2 |
$ sudo docker run --volumes-from 35427377c622 centos /bin/bash -c "cat /data/file" test123 |
参考サイト
Managing data in containers – Docker Documentation
http://docs.docker.com/userguide/dockervolumes/
Dockerで再利用可能なボリュームを定義する – cpw’s diary
http://cpw.hatenadiary.jp/entry/2013/08/17/013119