Docker的数据存储
Author:zhaojunlike@
Email:zhaojunlike@gmail.com
本篇文章来自于官方基于文档的指南学习整理
如果英语好的同学其实可以看文档,更加详细。数据管理传送门
Docker的存储原理
在docker的管理中,一个容器是很轻易的创建或者销毁的,如果我们直接创建一份容器,当在销毁他的时候,容器里面得数据配置,也变得不存在了,那么这个时候我们就需要一个共享的数据盘来存储已经管理我们的数据。
<code>#docker volume --help</code>
给容器创建一个数据卷
$docker run -d -P --name web1 -v /server/webapp:/webapp nginx
查看容器详细
$docker inspect web1
我们可以看到有一个Mounts
挂载只读数据卷
$docker run -d -P --name web2 -v /server/webapp/:/usr/share/nginx/html:ro centos
多个容器之间管理挂载数据卷
1.使用共享卷的好处是它们与主机无关。
2.使用卷驱动程序的一种方法是通过docker运行命令。卷驱动程序通过名称创建卷,而不是像其他示例中的路径。
我们可以看到在Docker中给我们提供了一个Docker volume命令可以创建管理我们的数据卷
我们看到了当中有一个Driver参数,那么Docker的volume中的driver是什么呢?
创建一个数据卷容器
root@ubuntu-docker:~# docker create -v /server/dbdata/ --name dbstore ubuntu
root@ubuntu-docker:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d72d1d94e546 ubuntu "/bin/bash" About a minute ago Up About a minute determined_goldstine
root@ubuntu-docker:~# docker run -it --rm --volumes-from dbstore ubuntu
root@8b12671bffe7:/# df -h
Filesystem Size Used Avail Use% Mounted on
none 19G 13G 4.9G 73% /
tmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 19G 13G 4.9G 73% /dbdata
shm 64M 0 64M 0% /dev/shm
root@8b12671bffe7:/#