一、建立、挂载数据卷
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_vi
svesv
araya
[root@host1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
904948dca04f centos "/bin/bash" 7 seconds ago Up 6 seconds amazing_vi
svesv
araya
进入创建的容器
查询是否成功
[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_vi
svesv
araya,docker ps 查看看最右侧一列这样,使用镜像centos_test2创建了新的容器,并且使用了amazing_vi
svesv
araya容器的数据卷
[root@host1 ~]# docker run -itd --volumes-from amazing_vi
svesv
araya 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_vi
svesv
araya
说明:以上操作完成后,然后让其他容器挂载该数据卷共享使用
[root@host1 ~]# docker run -itd --volumes-from testvol centos bash
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。