docker-数据管理

一、建立、挂载数据卷   1. 建立宿主机本地datat目录下的docker_test作为容器存放数据目录的路径,进行目录映射 语法:docker run -itd -v /【宿主机目录】/:/【容器目录】/ 【镜像名称】 bash 说明:-v 用来指定挂载目录,:前面的/data/为宿主机本地目录,:后面的/data/为容器里的目录,会在容器中自动创建 [root@host1 ~]# docker run -tid -v /data/docker_data/:/data/ centos bash 904948dca04f3b4bbebc0fe1fc1160d17c9cef11e5f6bc4b23617b322d73f8d3   ps查看创建的容器,名称amazing_visvesvaraya [root@host1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 904948dca04f centos "/bin/bash" 7 seconds ago Up 6 seconds amazing_visvesvaraya   进入创建的容器查询是否成功 [root@host1 ~]# docker exec -it 904948dca04f bash [root@904948dca04f /]# ls data/ 1.txt 3.txt test.txt   2: 映射目录后,创建新的容器挂载数据卷 语法:docker run -itd --volumes-from 【映射了的容器名称】 【镜像名称】bash 说明:挂载目录的时候,可以指定容器name,如果不指定就随机定义了。上面没有指定,随机生成了一个名字为amazing_visvesvaraya,docker ps 查看看最右侧一列这样,使用镜像centos_test2创建了新的容器,并且使用了amazing_visvesvaraya容器的数据卷 [root@host1 ~]# docker run -itd --volumes-from amazing_visvesvaraya centos_test2 bash 810ff9bebe6dc767308aac49b9b61d0e113b441ee88002373899afbe468113bb   进入创建的容器查询是否成功 [root@host1 ~]# docker exec -it 810ff9beb bash [root@810ff9bebe6d /]# ls data/ 1.txt 3.txt test test.txt     3:建立容器中的NFS数据卷,共享其它容器使用 语法:docker run -itd -v /【容器的路径】/ -name 【定义容器名称】【镜像名称】 bash 说明:在众多容器中,我们需要多个容器之间相互共享数据,类似于linux里面的NFS,所以就可以搭建一个专门的数据卷容器,然后其他容器直接挂载该数据卷。注意-V后面的路径是容器的路径,并非宿主机的路径。  [root@host1 ~]# docker run -itd -v /data/ --name testvol centos bash 46f89904218d8c1a6f56ac167cef6c3b713c251b6c118532425f72da1f1c2c47 [root@host1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 46f89904218d centos "bash" 6 seconds ago Up 5 seconds testvol 810ff9bebe6d centos_test2 "bash" About an hour ago Up About an hour youthful_noyce 904948dca04f centos "/bin/bash" 5 hours ago Up 5 hours amazing_visvesvaraya   说明:以上操作完成后,然后让其他容器挂载该数据卷共享使用 [root@host1 ~]# docker run -itd --volumes-from testvol centos bash
上一篇:hdfs 配置多个namenode


下一篇:docker-数据管理的备份与恢复