AKAI TSUKI

System development or Technical something

Use data volume container in Docker

データコンテナを起動。

# docker create -v /data --name data-container busybox

作成したコンテナのボリュームにテキストファイルを配置。

[root@docker01 ~]# docker run -it --volumes-from data-container centos bash
[root@84a6154b093f /]# echo "test message" > /data/test.txt
[root@84a6154b093f /]# ls -l /data
total 4
-rw-r--r-- 1 root root 13 Jul 17 05:06 test.txt
[root@84a6154b093f /]# exit
exit
[root@docker01 ~]#

他のコンテナを起動してアクセスしてみる

[root@docker01 ~]# docker run -it --volumes-from data-container centos bash
[root@7fc54478ed40 /]# ls -l /data/
total 4
-rw-r--r-- 1 root root 13 Jul 17 05:06 test.txt
[root@7fc54478ed40 /]# cat /data/test.txt
test message
[root@7fc54478ed40 /]# echo "add message" >> /data/test.txt
[root@7fc54478ed40 /]# cat /data/test.txt
test message
add message
[root@7fc54478ed40 /]# exit
exit
[root@docker01 ~]#

バックアップ

[root@docker01 ~]# docker run -it --rm --volumes-from data-container -v $(pwd):/backup centos tar cvf /backup/backup.tar /data
tar: Removing leading `/' from member names
/data/
/data/test.txt
[root@docker01 ~]# ls -l backup.tar
-rw-r--r-- 1 root root 10240 Jul 17 14:14 backup.tar
[root@docker01 ~]# tar tvf backup.tar
drwxr-xr-x root/root         0 2016-07-17 14:06 data/
-rw-r--r-- root/root        25 2016-07-17 14:09 data/test.txt
[root@docker01 ~]#