赞
踩
镜像理解
镜像就像光盘,是个一系列文件的集合,包含了程序、配置及运行环境信息,属于联合文件系统。
镜像分层:centos的镜像只有200M,但是tomcat的镜像却400多M,为什么?是因为镜像是分层结构,就像下图,tomcat的镜像中包含了其依赖的jdk、centos等资源,所以显得比较大。
容器数据卷理解
docker容器数据卷可以看成使我们生活中常用的u盘,它存在于一个或多个的容器中,由docker挂载到容器,但不属于联合文件系统,Docker不会在容器删除时删除其挂载的数据卷。数据卷就是容器中的数据持久化的一种方式。
使用命令添加数据卷,需要参数v(volume的缩写),后接宿主机路径和容器路径的映射关系。
如果后跟ro,则表示只读。
- docker -it -v /宿主机绝对路径:/容器内路径 镜像名
- docker -it -v /宿主机绝对路径:/容器内路径:ro 镜像名
我们也可以使用DockerFile来添加容器卷,DockerFile就是对镜像模板的描述文件,如下描述了使用DockerFile添加容器卷的方法。
- mkdir mydocker
- cd mydocker
- vim DockerFile
-
- #volume test
- FROM centos
- VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
- CMD echo "finished, ------------, success!"
- CMD /bin/bash
-
-
- docker build -f /mydocker/DockerFile -t haylen/centos .
- docker run -it haylen/centos
-
- docker inspect 运行的容器id
数据卷容器就是指挂在数据卷的容器,该容器可以作为父容器,被其他容器挂载,从而实现容器间数据的共享。
- docker run -it --name dc01 haylen/centos
-
- docker run -it --name dc02 --volume-from dc01 haylen/centos
-
- docker run -it --name dc03 --volume-from dc01 haylen/centos
使用这种方式共享后,把dc01删除,其共享数据仍然存在。直至所有的dc都删除,否则容器卷都一直共享存在。
如果您喜欢这篇文章,别忘了点赞和评论哦!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。