docker中的数据卷和数据卷容器

在docker 的容器中 数据的管理通过:
数据卷 和 数据卷容器来管理

数据卷是什么?
是一个可供多个容器使用的特殊目录他绕过了UFS,特性:

数据卷可以在容器之间共享重用
对数据卷的修改会立即生效
对数据卷的更新 不会影响镜像
卷会一直存在 直到没有容器使用

类似于linux下mount

如何去创建一个数据卷呢

docker run -d -P -it –name web1 -v /webapp tranning/webapp /bin/bash

docker attach 进入守护进程中
可以看到刚刚创建的那个目录。

-v 是标记为一个数据卷
数据卷是默认存在容器中。

如何将主机的目录映射到宿主机到数据卷呢

doruner run -d -P -it
–name web2 -v /roor/docker:/opt/docker /bin/bash

数据卷容器:
专门提供数据卷 供其他容器进行挂载

docker run -d -v /name –name name 镜像 命令
这样就启动起来了

在其他容器中如何挂载他呢?

docker run -d –volumes-from name –name db1 -it 镜像名字

所以我们可以通过创建一个数据卷容器
使用其他容器的时候 使用 –volumes–from
就可以实现挂载功能

数据卷 和 数据卷容器的作用??
使用 数据卷容器来实现备份 恢复 迁移数据

如何使用数据卷备份数据?

docker run –volumes-from db -v $(pwd):/docker –name db6 -it centos /bin/bash

(从数据卷容器db中去挂载)

tar cvf databases.tar database
(备份命令)
实现了将数据卷容器备份到本地的目录

如何恢复数据卷容器的数据呢?

首先创建一个数据卷容器

docker run -it -d –name db10 -v /database centos /bin/bash

docker run =it -d –name db11 –volumes-from db10 -v $(pwd):/docker centos /bin/bash

docker attach db11 进入到容器里面

现在db11 挂载了db10 和 本地的docker目录

可以将之前备份的数据进行解压
tar xvf databases.tar -C /数据卷容器的目录

你可能感兴趣的:(docker中的数据卷和数据卷容器)