docker学习-基础篇6-docker容器数据卷-使用dockerfile

使用dockerfile进行数据绑定

根目录下

#根目录下(ls /的目录下)创建一个mydocker文件夹
mkdir mydocker

#进入mydocker文件夹
cd mydocker

#编辑并创建一个文件并保存
vim Dockerfile

#vim内容
#testdocker
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,----------success1"
CMD /bin/bash


#执行脚本命令(会一层一层执行vim里面的内容) -f是指明, -t命名空间   .在当前目录下面

指明在/mydocker/Dockerfile下给centos命名为yyzz/centos
docker build -f /mydocker/Dockerfile -t yyzz/centos .


建立成功

执行容器

在yyzz/centos容器中就会自动建立vim上写的dataVolumeContainer1,dataVolumeContainer2容器卷

容器卷最重要的是跟宿主机建立联系

在宿主机上输入对应的容器ID

查看到对应随机生成的位置

移动到对应目录下可以看见在容器卷上创建的contain1.tx文件,同理在宿主机上创建后在容器卷上也可以同步数据过去

在主机上创建contain2.txt

容器上出现了contains2

备注:

数据卷容器(简单理解就是活动硬盘上挂活动硬盘)

容器间传递共享操作,父子都可以各自添加并且数据共享

#1.运行yyzz/centos并命名为dc01
docker run -it --name dc01 yyzz/centos

#2.进入到dataVolumeContainer2,并添加一个文件touch dc01_add.txt
cd dataVolumeContainer2
touch dc01_add.txt

#3.CTRL+QP退出容器不停止容器


#4.再运行一个容器yyzz/centos再命名为dc02 继承dc01的数据
docker run -it --name dc02 --volumes-from dc01 yyzz/centos

#5.去dc02的dataVolumeContainer2文件中发现touch dc01_add.txt文件会存在,同理在此(dc02)继承文件中创建的文件也会同步到dc01去


#1.运行yyzz/centos并命名为dc01
docker run -it --name dc01 yyzz/centos 

#2.进入到dataVolumeContainer2,并添加一个文件touch dc01_add.txt
cd dataVolumeContainer2
touch dc01_add.txt


#3.按CTRL+QP退出容器不停止容器
#4.再运行一个容器yyzz/centos再命名为dc02 继承dc01的数据
docker run -it --name dc02 --volumes-from dc01 yyzz/centos

#5.去dc02的dataVolumeContainer2文件中发现touch dc01_add.txt文件会存在,同理在此(dc02)继承文件中创建的文件也会同步到dc01去

docker的解析

1.Dockerfile是什么?

以我们输的centos为例子

去centos-hub官网搜索对应centos进行源码查看

https://www.hub.docker.com

docker的解析过程

dockerfile体系结构


发布了157 篇原创文章 · 获赞 3 · 访问量 4519

猜你喜欢

转载自blog.csdn.net/qq_38224014/article/details/105310146