• 6、Docker存储卷


    Why Data Volumes?  来自马哥教育

    Data volumes

    Volume types 

    绑定挂载卷:在宿主机和容器上各指明绑定路径才能进行绑定。

    docker管理卷:在容器内指定挂载点,而被挂载点即宿主机上的挂载路径不需要用户创建,而是由docker daemon维护

     

    在容器中使用Volumes(即使用docker管理卷)

    -v /data  路径默认不存在

    查看/data属于哪个路径?

    # docker inspect b1

    那么在容器b1的data目录下是可以看到此文件的

    同时在容器内的data目录下操作,比如新建文件等在宿主机也是可以看到的。

    以上就是有docker管理的卷

    另外一种类型:绑定挂载卷

    删除之前的镜像,重新启动

    # docker run --name b1 -it --rm -v /data/volumes/b1:/data busybox      //  -v /data/volumes指定宿主机路径,把这个路径关联到b1上的data目录下 

    注意,即使在宿主机上/data/volumes/b1这个目录之前不存在,在挂载的那一刻也被在宿主机上创建的,但必须明确指定这个路径,

    其他都与docker管理卷相似,在容器创建文件在宿主机上可以看到,相反亦可以。

    以上两种存储都具有持久能力,例如:

    [root@node1 ~]# cd /data/volumes/b1/
    [root@node1 b1]# vim index.html   //在宿主机上的/data/volumes/data目录下创建一个网页文件

    虽然上述容器b1退出并删除,但是之前创建的index.html仍然是存在的。

    下次在启动容器b1时,仍然把宿主上的挂载目录指定为之前创建的目录/data/valumes/data,则仍然可以看到,注意,一定要和之前的容器相同。

    因此就有了持久功能。

    多个容器共享宿主机同一个存储卷

    一个docker的目录能够与宿主机的目录建立关联关系,那么两个docker容器的目录就可以关联到宿主机的同一个目录上,这样就可以实现共享存储卷了。

    上述演示了两个容器共享一个宿主机存储卷,但是b2必须使用 -v /data/volumes/b1:/data 指定b1的目录,可以在初始化容器b2时采用直接复制b1的存储卷路径

    可以创建一个容器,这个容器可以不启动,只要存在就行,这个容器作为其他生产容器的基础架构容器。在启动其他生产容器时,直接复制基础架构容器的存储设置即可。

    使用场景

    Sharing volumes

    # docker run --name infracon -it -v /data/infracon/volume/:/data/web/html busybox  //创建一个基础服务的容器,可以不启动,这里使用交互式 -it 是为了演示效果。

    / #                             //-v /data/infracon/volume/ 指定宿主机卷路径   /data/web/html :关联容器的路径

    # docker run --name nginx --network container:infracon --volumes-from infracon -it busybox   

        //另起一个窗口,--network container:infracon表示nginx容器加入到基础容器infracon的网络中,--volumes-from infracon表示使用容器infracon的挂载卷路径

    # docker inspect infracon

    # docker inspect nginx  //同上

     

    docker存储卷、基于docker file做镜像文件,以及使用hap做私有仓库

  • 相关阅读:
    常用Linux基础命令
    makefile基础
    获得当前的时间——system.currentTimeMillis()
    MapReduce提供的输入输出格式
    Hadoop HDFS文件操作的Java代码
    Hadoop2.2.0完全分布式配置
    Hadoop2.2.0伪分布模式配置
    Eclipse Plugin for Hadoop2.2.0
    Hadoop2.2.0单机模式配置
    Asp.Net 禁用cookie后使用session
  • 原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/10513732.html
Copyright © 2020-2023  润新知