Docker的数据存储

Author:zhaojunlike@

Email:zhaojunlike@gmail.com

本篇文章来自于官方基于文档的指南学习整理

如果英语好的同学其实可以看文档,更加详细。数据管理传送门

Docker的存储原理

在docker的管理中,一个容器是很轻易的创建或者销毁的,如果我们直接创建一份容器,当在销毁他的时候,容器里面得数据配置,也变得不存在了,那么这个时候我们就需要一个共享的数据盘来存储已经管理我们的数据。
#docker volume --help

给容器创建一个数据卷

$docker run -d -P --name web1 -v /server/webapp:/webapp nginx

image.png

查看容器详细
$docker inspect web1
我们可以看到有一个Mounts

image.png

挂载只读数据卷

$docker run -d -P --name web2 -v /server/webapp/:/usr/share/nginx/html:ro centos

image.png

多个容器之间管理挂载数据卷

1.使用共享卷的好处是它们与主机无关。

2.使用卷驱动程序的一种方法是通过docker运行命令。卷驱动程序通过名称创建卷,而不是像其他示例中的路径。

我们可以看到在Docker中给我们提供了一个Docker volume命令可以创建管理我们的数据卷
image.png

我们看到了当中有一个Driver参数,那么Docker的volume中的driver是什么呢?
image.png

创建一个数据卷容器

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:/# 

Godtoy
2.4k 声望114 粉丝

Technology change the 'hello world'