Docker-数据卷和数据容器卷

容器中管理数据主要有两种方式:

数据卷(Data Volumes)

数据卷容器(Data Volumes Dontainers)

数据卷

使用-v可以挂载一个本地的目录到容器中作为数据卷。

[[email protected] /]$ ls /b2b
backup  prog_update  wasStatus.log

[[email protected] /]$ docker run -d --name=tomcat -v /b2b:/test -it centos /bin/bash
f85c616bde3317c857b657355561a1cfa4203fab2b8619386435e541089bde23
[[email protected] /]$ docker exec -it tomcat /bin/bash
[[email protected] /]# ls /test
backup  prog_update  wasStatus.log[[email protected] /]# touch test/demo[[email protected] /]# ls /testbackup  demo  prog_update  wasStatus.log[[email protected] /]# exitexit[[email protected] /]$ ls /b2bbackup  demo  prog_update  wasStatus.log

可以看见容器中已经挂载了/b2b目录了,并有其中数据。

数据卷容器

如果容器之间需要共享一些持续更新的数据,最简单的方式就是是用户数据卷容器,数据卷容器就是一种普通容器,专门提供数据卷供其它容器挂载使用。

创建数据卷容器dbdata

[[email protected] /]$ docker run -it -v /dbdata:/dbdata --name dbdata centos[[email protected] /]

创建db1和db2两个容器,并使用--volumes-from挂载dbdata容器中的数据卷

[[email protected] /]$ docker run -it --volumes-from dbdata --name db1 centos
[[email protected] /]$ docker run -it --volumes-from dbdata --name db2 centos

这样三个容器任何一个容器在该目录下写入,其它容器都能看见。

备份

备份dbdata数据卷容器中的数据到主机的当前目录。

[[email protected] /]$ docker run --volumes-from dbdata -v $(pwd):/backup --name worker centos tar zcf /backup/backup.tar.gz /dbdata
tar: Removing leading `/‘ from member names
[[email protected] /]$ ls
b2b            boot    dev   lib         media  net   root     srv   tmp
backup.tar.gz  cgroup  etc   lib64       misc   opt   sbin     sys   usr
bin            dbdata  home  lost+found  mnt    proc  selinux  test  var
[[email protected] /]$ tar -tvf backup.tar.gz
drwxr-xr-x root/root         0 2016-08-26 10:51 dbdata/
-rw-r--r-- root/root         0 2016-08-26 10:40 dbdata/demo
-rw-r--r-- root/root         6 2016-08-26 10:48 dbdata/test.txt
-rw-r--r-- root/root         0 2016-08-26 10:51 dbdata/hello

恢复

创建一个带有数据卷的容器

[[email protected] /]$ docker run -v /dbdata/dbdata --name db centos /bin/bash

恢复

[[email protected] /]$ docker run --volumes-from db -v $(pwd):/backup  centos tar xf /backup/backup.tar.gz
时间: 2024-11-07 09:34:22

Docker-数据卷和数据容器卷的相关文章

docker创建数据卷以及数据卷容器

docker容器管理有2中方式: 1:数据卷:类似Linux下目录挂载mount 2:数据卷容器:其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的 使用docker search xxx //xxx指的是搜索相应的镜像.搜索后根据自己需求进行pull 下载镜像 [email protected] :~# docker pull jdeathe/centos-ssh 查看pull后的镜像 [email protected] :~# docker images REPOSITORY    

Docker之数据卷和数据卷容器

数据卷是一个可供容器使用的特殊目录,可以在容器之间共享和重用,对数据卷的修改会马上生效,卷会一直存在直到没有容器使用,数据卷的使用类似于mount 数据卷容器就是一个普通的容器,可专门提供数据卷供其他容器挂载使用,可以在容器之间共享一些持续更新的数据 1:创建数据卷 利用镜像centos,创建一个名为tomcat的容器,并在后台以守护进程方式工作,且将本地的/b2b/目录挂在在新建立的tomcat容器的/test目录下 [email protected]:/home/zxl# docker ru

Docker 学习笔记【3】 Docker 仓库、数据卷、数据卷容器,网络基础实操。高级网络配置学习

Docker 学习笔记[4] 高级网络配置实操,实战案例实验 =========================================================================== Docker 学习笔记[2] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,记录开始 =========================================================================== 被格式化的脚本内容: #开头代表

Docker数据容器卷的创建备份和恢复

数据卷容器 如果容器之间需要共享一些持续更新的数据,最简单的方式就是是用户数据卷容器,数据卷容器就是一种普通容器,专门提供数据卷供其它容器挂载使用. 创建数据卷容器dbdatadocker run -v /dbdata:/dbdata --name dbdata centos 创建db1和db2两个容器,并使用--volumes-from挂载dbdata容器中的数据卷 docker run --volumes-from dbdata --name db1 centosdocker run --v

Docker基本控制命令(资源控制、数据卷及数据卷容器、镜像创建、端口映射、私有仓库)

一.资源控制 1.CPU使用率控制 限制该镜像本次建立的容器最大只能占总资源的10% docker run --cpu-quota 10000 centos 2.按比例分配 创建两个容器为c1和c2,若只有这两个容器,设置容器的权重,使得c1和c2的CPU资源占比为33.3%和66. 7% docker run -itd --name c1 --cpu-shares 512 centos(镜像名)docker run -itd --name c2 --cpu-shares 1024 centos

[docker]动态挂卷与数据卷管理

声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! 动态挂卷 目前docker不支持动态挂卷.有同事就提出,以下方法是否可行:1. 将块设备通过ln链接到容器与host的映射目录.2. 将块设备挂载到容器与host的映射目录. 以下是实验过程:由于非特权无法看到/dev下的设备,因此ln链接实际是无效的. 同理,对于其他块设备,也是这样的.当然,我们可以配置privileged

自己学Docker:5.Docker的数据持久化之数据卷

首先,别忘记之前的两个问题: 1. 如何保存我们在容器里的修改? 2. 如果apt-get如果不能安装时,如何在Docker中安装软件? 删除镜像命令 在此之前,先记一个命令, sudo docker rm ID/NAME 即删除创建的镜像.如 现在删除id为"cc8a23b1d624"的镜像. sudo docker rm cc8a23b1d624 可以看到,id为cc8a23b1d624的镜像被删除了. 而且可以发现,本地的/var/lib/docker/containers目录下

Docker Kubernetes Volume 本地数据卷

Docker Kubernetes Volume 本地数据卷 emptyDir 当Pod分配到Node时,首先创建一个空卷,并挂载到Pod中的容器. Pod中的容器可以读取和写入卷中的文件. 当Pod从节点中删除emptyDir时,该数据也会被删除. 注:适用于容器之间的数据共享. hostPath 一个hostPath卷挂载Node文件系统上的文件或目录到Pod中的容器. 注:指定宿主级的数据目录挂载到容器中. 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Ku

Docker:网络及数据卷设置 [四]

一.Docker网络设置 默认情况下,docker会创建一个桥接网卡[docker 0],docker有2种映射方式,一种是随机映射,一种是指定映射 提示:生产场景一般不使用随机映射,但是随机映射的好处就是由docker分配,端口不会冲突 案例1:使用docker启动nginx随机映射配置 [[email protected] ~]# docker run -d -P nginx 63cbe30165c8fb2ce7789a8173db6f2060705028ce6c326d1f0cd467bd