Docker使用5-Use bind mounts

写在前面

主题是Use bind mounts,这里是链接。本文主要学习持久化数据的另一种方式。

使用mount持久化数据

前文使用Volume持久化数据,这里使用另一种方式Mount持久化数据,就是把主机中的路径映射到容器内的路径。下图是两种方式的主要区别。

volumemount
数据在主机存放的位置Docker选择自己选择
使用例子type=volume,src=my-volume,target=/usr/local/datatype=bind,src=/path/to/data,target=/usr/local/data
用容器内存填充新的卷支持不支持
支持卷驱动程序支持不支持

尝试使用mount

  1. 确保当前终端路径处于之前的getting-started-app路径
  2. 运行下面代码,type为bindsrc=”$(pwd)“把当前文件目录作为源目录,target=/src是映射到容器内的文件目录。-it是进入实时交互。结果如下所示。
    docker run -it --mount type=bind,src="$(pwd)",target=/src ubuntu bash
    
    root@ac1237fad8db:/# pwd
    /
    root@ac1237fad8db:/# ls
    bin   dev  home  media  opt   root  sbin  srv  tmp  var
    boot  etc  lib   mnt    proc  run   src   sys  usr
    
  3. 进入src目录并创建myfile.txt
    root@ac1237fad8db:/# cd src
    root@ac1237fad8db:/src# ls
    Dockerfile  node_modules  package.json  spec  src  yarn.lock
    
    root@ac1237fad8db:/src# touch myfile.txt
    root@ac1237fad8db:/src# ls
    Dockerfile  myfile.txt  node_modules  package.json  spec  src  yarn.lock
    
  4. 打开一个新终端并进入getting-started-app目录,会发现myfile.txt在出现这个目录。
    ├── getting-started-app/
    │ ├── Dockerfile
    │ ├── myfile.txt
    │ ├── node_modules/
    │ ├── package.json
    │ ├── spec/
    │ ├── src/
    │ └── yarn.lock
    
  5. 使用Ctrl + D停止容器运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值