容器:Docker存储——绑定挂载和tmpfs的使用( --mount 和 --tmpfs 和 -v )

相关:

Docker存储(三)绑定挂载和tmpfs的使用

docker-tmpfs挂载

docker中tmpfs占用磁盘

Docker 基础知识 - 使用 tmpfs 挂载(tmpfs mounts)管理应用程序数据

【docker常用命令系列】docker run示例选项用法大全权威详解



tmpfs挂载是临时的,并且仅保留在主机内存中。当容器停止时,将tmpfs删除安装,并且不会保留写在那里的文件。


--tmpfs 是docker容器运行的一种基于内存的存储系统,其含义是指在容器中的文件存放在主机的内存中,这样在容器中对该文件夹下进行的任何读写操作其实并不是在对磁盘进行操作而是在对主机内存进行操作,使用该种方式主要是为了增加文件读写速度,这样就相当于把容器的文件映射到了内存中,不过该种方式并不能对文件内容进行持久化,也就是说容器关闭后那么这个文件夹下的内容就会全部消失。


--tmpfs 一般用于缓存数据的存储,比如运行的docker容器中运行的是一个web网站的数据或者是一个视频缓存数据等,虽然根据操作系统的磁盘读写后自动在内存缓存中保留数据,但是这种方式需要在磁盘数据被读取一次后才会在内存中进行缓存,并且该部分内容会因为抢占内存而被调出内存而保存到磁盘,而使用--tmpfs会直接将这部分文件内容缓存到内存,并且不受抢占的影响而一直保存在内存直到容器关闭。


PS:

之所以会知道docker的这个--tmpfs,是因为最近运行了一个迅雷的pcdn分布式视频缓存系统,而这个系统就有docker运行的镜像,而这个容器的启动命令为:


docker run -d --name=wxedge --restart=always --privileged --net=host --tmpfs /run --tmpfs /tmp -v /home/devil/Downloads/storage/:/storage:rw -e LISTEN_ADDR="0.0.0.0:18888"    images-cluster.xycloud.com/wxedge/wxedge:latest

可以看到,这个pcdn的应用的相关运行文件就是在 /run 文件夹下,同时这个文件夹是 --tmpfs,因此这样就保证了这个应用的运行文件是被存储在主机内存中的。







posted on 2024-12-28 16:23  Angry_Panda  阅读(118)  评论(0)    收藏  举报

导航