docker容器数据卷—容器与宿主机数据共享(六)

本文详细介绍了Docker数据卷的创建和使用方法,包括通过命令行和Dockerfile两种方式,以及如何实现容器与宿主机之间的数据共享。通过具体实例展示了如何在启动容器时使用-v标记来挂载数据卷,以及如何检查数据卷是否正确挂载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性:

  • 数据卷可以在容器之间共享和重用
  • 对数据卷的修改会立马生效
  • 对数据卷的更新,不会影响镜像
  • 数据卷一直存在,知道没有容器使用

一、命令方式创建

命令创建,可以让容器和宿主机之间数据共享
在docker run命令的时候,使用-v标记可以在容器内创建一个数据卷。多次使用-v标记可以创建多个数据卷。

docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it -v /myDataVolume:/dataVolumeContainer 镜像名
docker run -it -v /myData1:/myDate1  -v /myData2:/myDate2 镜像名    --创建两个目录
docker run -it -v /myDataVolume:/dataVolumeContainer:ro 镜像名	   --添加权限,容器目录只可以读
  • 1.首先获取tomcat镜像

     docker pull tomcat
    
  • 2.在启动的时候使用-v标记

     docker run -d -v /myTomcat:/usr/local/tomcat/webapps/myTomcat -p 8888:8080 tomcat
    

    myTomcat:宿主机绝对路径目录,如果没有myTomcat目录,会自动创建
    /usr/local/tomcat/webapps/myTomcat :容器内目录 ,如果不存在会自动创建
    注意:宿主机下的目录和容器内的目录如果提前创建,并有内容,在-v标记的时候会清空目录

    查看数据卷是否挂载成功:

     docker ps --查看容器id
     docker inspect 容器id
    

    在这里插入图片描述

  • 3.测试
    进入宿主机/myTomcat目录,查看,并创建test.txt文件
    在这里插入图片描述

    进入容器,查看/usr/local/tomcat/webapps/myTomcat下是否有test.txt

     docker exec -it a3eda35e1887 /bin/bash
    

    在这里插入图片描述
    此时说明宿主机和容器,数据共享成功

二、编写dockerFile方式

  • 1.在根目录下新建mydocker文件夹并进入

  • 2.编写dockerFile

     vim testFile
     
     # volume test
     FROM centos
     VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
     CMD echo "finished,---------success1"
     CMD /bin/bash
    
  • 3.执行 docker build -f

     docker build -f /mydocker/testFile -t zl/centos .
    

    在这里插入图片描述

     docker images 查看新镜像
    

  • 4.查看信息

     docker run -it zl/centos   --运行
     docker inspect 容器id 命令查看宿主机默认与dataVolumeContainer1、dataVolumeContainer2关联的目录
    

    在这里插入图片描述
    此时可以进入source下的目录去创建文件,校验一下有没有数据同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值