docker-4.数据卷

应用程序数据

docker将数据从宿主机挂载到容器中的三种方式:

  1. volumes:docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)—推荐
  2. bind mounts:挂载宿主机文件或目录到容器中
  3. tmpfs:挂载存储到宿主机内存,不写入文件系统(临时存储)

volume和bind mount区别

在这里插入图片描述
相同点:
利用宿主机的文件系统
不同点:

  1. volume是docker自身管理的目录中的子目录,所以不存在权限引发的挂载的问题,并且目录路径是docker自身管理的,所以也不需要在不同的服务器上指定不同的路径
  2. 当容器外的对应目录是空的,volume会先将容器内的内容拷贝到容器外目录,而mount会将外部的目录覆盖容器内部目录

注意点:

  1. volume 会引起 docker目录膨胀,因为既要存镜像,又要存 volume,最好不要放在系统盘,将 docker 的安装目录配置到其他更大的挂载盘
  2. volume 还有一个不如bind mount的地方,不能直接挂载文件,例如挂载nginx容器的配置文件:nginx.conf。
    这里需要说明,类似于配置文件这种单文件方式并不适合使用volume,bind mount虽然也可以解决,但由于config文件中包含一些类似于数据库密码等敏感信息,因此,最好的方式是使用tmpfs

数据卷的使用

  1. 创建数据卷
    docker volume create nginx-vol
  2. 创建docker
    docker run -itd --mount src=nginx-vol,dst=/usr/share/nginx/html nginx

    docker run -itd -v nginx-vol:/usr/share/nginx/html nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值