Docker容器数据卷的挂载

Docker数据卷挂载

在使用的Docker的时候,为了精简Docker的大小,当镜像包含较多的依赖包时,该镜像往往比较大,如果把开发的项目也添加到镜像中,将更加庞大,所以在使用Docker的时候尽量不牵扯要执行的项目代码等问题,只使用Docker的环境,而不牵扯你的项目,但是在启动Docker的时候又需要运行或者依赖你开发的项目,此时就引出了Docker数据卷的挂载.

Docker数据卷挂载的主要方式:

bind mount 方式
volumes 方式
tmpfs 方式

  1. bind mount方式挂载数据卷:

方式一:docker run -dti -v 宿主机文件或文件夹:容器中的文件或文件夹 < CONTAINER ID> 注意:容器id必须在最后,否则报错找不到"-v" 或者 “–mount” 的错误
方式二:docker run -dti --mount type=bind,src=宿主机文件或文件夹,dst=容器中的文件或文件夹
注意:方式二中的src指定的文件和路径必须提前创建或存在,否则会报错

2.volumes方式挂载数据卷:

方式一:docker run -dti -v VOLUME-NAME:容器中的文件或文件夹
方式二:docker run -dti --mount type=volumes,src=VOLUME-NAME,dst=容器中的文件或文件夹
注意:其中 VOLUME-NAME是数据卷对象,存在于/var/lib/docker/volumes/…文件夹下,可通过docker volumes ls 查看

3.tmpfs方式挂载数据卷:

docker run -dti --mount type=tmpfs,dst=PATH
注意:该方式不存储到硬盘,只缓存到内存中.要特别注意

还有一种比较特殊的挂载方式为:共享其他容器的数据卷:

docker run -dti --volumes-from CONTAINER

数据卷挂载使用注意:

docker的数据卷更多会使用volumes的方式进行挂载(第二种方式).需注意:

  • 如果挂载一个空的数据卷到容器中的一个非空目录中,这个目录下的文件会被复制到数据卷中
  • 如果挂载一个非空的数据卷到容器的一个目录中,那么容器中的目录会显示数据卷中的数据;如果原来容器中的额目录有数据,那么原始数据会被隐藏.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值