今天又是一个周末,在家总想提高一下自己,学习一下docker 的container 的volume 使用:
1: 先创建一个volume:
[root@test3 ~]# docker volume create my-vol
my-vol
[root@test3 ~]# docker volume ls
DRIVER VOLUME NAME
local my-vol
2: 再看一下vol 的属性:docker inspect my-vol
[root@test3 ~]# docker volume inspect my-vol
[
{
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my-vol/_data",
"Name": "my-vol",
"Options": {},
"Scope": "local"
}
]
3: 再创建一个新的container:
[root@test3 my-vol]# docker run -it --name container5 -v my-vol:/data ubuntu-ansible /bin/bash
可以看到cotnainer 已经建立成功,进入容器了:
root@2177fda11e48:/# df -h
Filesystem Size Used Avail Use% Mounted on
overlay 8.0G 5.6G 2.5G 70% /
tmpfs 496M 0 496M 0% /dev
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/mapper/centos-root 8.0G 5.6G 2.5G 70% /data
shm 64M 0 64M 0% /dev/shm
tmpfs 496M 0 496M 0% /sys/firmware
文件系统: /data 已经mount 上去了。
然后退出到主机,创建一个文件: test_file
[root@test3 my-vol]# cd /var/lib/docker/volumes/my-vol/_data
[root@test3 _data]# ls -lrt
total 0
[root@test3 _data]# touch test_file
[root@test3 _data]# ls -lrt
total 4
-rw-r--r--. 1 root root 30 Oct 12 09:15 test_file
[root@test3 _data]#
进入容器:
root@test3 _data]# docker attach container5
root@2177fda11e48:/data# ls -lrt
total 4
-rw-r--r--. 1 root root 30 Oct 12 13:15 test_file
实验成功,然后同样的方式创建一个container6:
[root@test3 _data]# docker run -it --name container6 -v my-vol:/data_06 ubuntu-ansible /bin/bash
mount 点叫data_06, 然后创建一个新文件:
root@9937469e7e0a:/data_06# touch file_20191012
root@9937469e7e0a:/data_06# ls -lrt
total 8
-rw-r--r--. 1 root root 30 Oct 12 13:15 test_file
-rw-r--r--. 1 root root 44 Oct 12 13:26 file_20191012
OK, 下面去另外一个container 看看:
[root@test3 _data]# docker attach container5
root@2177fda11e48:/data# ls -lrt
total 8
-rw-r--r--. 1 root root 30 Oct 12 13:15 test_file
-rw-r--r--. 1 root root 44 Oct 12 13:26 file_20191012
root@2177fda11e48:/data#
由此可见,volume 是实现container 之间file 共享的很好的途径,docker 真伟大。