docker从零开始 存储(四)tmpfs挂载
使用tmpfs挂载
volume和bind mounts允许您在主机和容器之间共享文件,以便即使在容器停止后也可以保留数据。
如果你在Linux上运行Docker,你有第三个选择:tmpfs
mounts。使用tmpfs
挂载创建容器时,容器可以在容器的可写层外创建文件。
与volume和绑定挂载相反,tmpfs
挂载是临时的,并且仅保留在主机内存中。当容器停止时,将tmpfs
删除安装,并且不会保留写在那里的文件。
tmpfs安装的限制
- 与卷和绑定装入不同,您无法
tmpfs
在容器之间共享装载。 - 只有在Linux上运行Docker时才能使用此功能。
选择--tmpfs或--mount标志
最初,该--tmpfs
标志用于独立容器,该--mount
标志用于群组服务。但是,从Docker 17.06开始,您还可以使用--mount
独立容器。一般来说, --mount
更明确和冗长。最大的区别是该 --tmpfs
标志不支持任何可配置选项。
--tmpfs
:安装tmpfs
挂载而不允许您指定任何可配置选项,并且只能与独立容器一起使用。--mount
:由多个键值对组成,以逗号分隔,每个键<key>=<value>
组由一个元组组成。该--mount
语法比--tmpfs
更详细:
下面的示例显示了可能的语法--mount
和--tmpfs
语法,并--mount
首先给出。
--tmpfs
和--mount
行为之间的差异
- 该
--tmpfs
标志不允许您指定任何可配置选项。 - 该
--tmpfs
标志不能与swarm服务一起使用。你必须使用--mount
。
在容器中使用tmpfs mount
要在容器中使用tmpfs挂载,请使用--tmpfs
标志,或使用--mount
带有type=tmpfs
和destination
选项的 标志。没有 source对应tmpfs挂载
。以下示例在Nginx容器中创建tmpfs挂载
/app
。第一个示例使用--mount
标志,第二个示例使用--tmpfs
标志。
[root@benjamincloud ~]# docker run -itd --name tmptest --mount type=tmpfs,dst=/app nginx:latest
470d9ad16381d9aed3b1df5c7eaa57b3596b6aedf3042f62f48cb7236da40d8c
[root@benjamincloud ~]# docker run -itd --name tmptest --tmpfs /app nginx:latest
ccb4dd602219130c9863be918a5d44f24615cce2ae0554d54b474ebb1bf6df4c
通过运行docker container inspect tmptest
并查找该Mounts
部分来验证安装是否为 tmpfs mount :
其中 source为空,对应了 上面所说。
指定tmpfs选项
tmpfs
安装允许两个配置选项,这两个选项都不是必需的。如果需要指定这些选项,则必须使用该--mount
标志,因为该--tmpfs
标志不支持它们。
选项 | 描述 |
---|---|
tmpfs-size |
tmpfs的大小以字节为单位。默认无限制。 |
tmpfs-mode |
八进制中tmpfs的文件模式。例如,700 或0770 。默认为1777 或世界可写。 |
以下示例将tmpfs-mode
to 设置为1770
,以便它在容器中不是世界可读的。
docker run -d \
-it \
--name tmptest \
--mount type=tmpfs,destination=/app,tmpfs-mode= \
nginx:latest
docker从零开始 存储(四)tmpfs挂载的更多相关文章
- docker从零开始 存储(二)volumes 挂载
使用volumes 卷是保存Docker容器生成和使用的数据的首选机制.mount binds依赖于主机的目录结构,而卷完全由Docker管理.卷绑定安装有几个优点: 与绑定装入相比,卷更易于备份或迁 ...
- docker从零开始 存储(一)存储概述
管理Docker中的数据 默认情况下,在容器内创建的所有文件都存储在可写容器层中.这意味着: 当该容器不再运行时,数据不会持久存在,如果另一个进程需要,则可能很难从容器中获取数据. 容器的可写层紧密耦 ...
- Docker 基础知识 - 使用 tmpfs 挂载(tmpfs mounts)管理应用程序数据
卷(volumes) 和 绑定挂载(bind mounts) 允许您在主机和容器之间共享文件,这样即使在容器停止后也可以持久存储数据. 如果在 Linux 上运行 Docker,那么还有第三种选择:t ...
- docker从零开始 存储(五)存储驱动介绍
关于存储驱动程序 要有效地使用存储驱动程序,了解Docker如何构建和存储镜像以及容器如何使用这些镜像非常重要.您可以使用此信息做出明智的选择,以确定从应用程序中保留数据的最佳方法,并避免在此过程中出 ...
- docker从零开始 存储(三)bind mounts
使用bind mounts 自Docker早期以来bind mounts 一直存在.与volumes相比,绑定挂载具有有限的功能.使用bind mounts时,主机上的文件或目录将装入容器中.文件或目 ...
- docker从零开始 存储(六)存储驱动如何选择
Docker存储驱动程序 理想情况下,将非常少的数据写入容器的可写层,并使用Docker卷来写入数据.但是,某些工作负载要求您能够写入容器的可写层.这是存储驱动程序的用武之地. Docker使用可插拔 ...
- docker从零开始(四)集群初体验,docker-machine swarm
介绍 在第三节中,选择了第二节中编写的应用程序,并通过将其转换为服务来定义它应如何在生产中运行,并生成五个应用实例 在本节中,将此应用程序部署到群集上,在多台计算机上运行它.多容器,多机应用程序通过连 ...
- 四个修改Docker默认存储位置的方法
方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo docker info | grep "Docker Root ...
- [转帖]四个修改Docker默认存储位置的方法
四个修改Docker默认存储位置的方法 https://blog.51cto.com/forangela/1949947 易改乾坤关注0人评论27435人阅读2017-07-22 09:18:48 ...
随机推荐
- 使用gradle打包时将依赖也合并入jar包
有些情形需要将项目依赖的jar包也合并入自己项目的jar包内,出来的这个jar我们称它为fat-jar.我所使用的方法需要用到shadow插件: 下面例子展示将mybatis打入我的jar包,并将my ...
- libevent 多线程
对于evbuffer,如果libevent使用了evthread_use_pthreads();那么所有的单个evbuffer操作就已经是原子的了,调用操作相关的接口进去就上锁,出来解锁,那么 evb ...
- Football Games(思维题)
Problem Description A mysterious country will hold a football world championships---Abnormal Cup, at ...
- 【南开OJ2264】节操大师(贪心+二分+并查集/平衡树)
好久没更新了,今天就随便写一个吧 题目内容 MK和他的小伙伴们(共n人,且保证n为2的正整数幂)想要比试一下谁更有节操,于是他们组织了一场节操淘汰赛.他们的比赛规则简单而暴力:两人的节操正面相撞,碎的 ...
- 【题解】NOIP2016愤怒的小鸟
一眼n<=18状压dp……方程什么的都很显然,枚举两只小鸟,再将这条抛物线上的小鸟抓出来就好啦.只是这样O(n^3)的dp必然是要TLE的,我一开始这样交上去显然跑得巨慢无比,后来转念一想:面对 ...
- BJOI2018
BJOI2018 省选挂完,是时候更一篇题解了.对于鬼畜结论题我只放结论不给证明,不要打我-- day1 二进制 试题描述 pupil 发现对于一个十进制数,无论怎么将其的数字重新排列,均不影响其是不 ...
- [洛谷P2482][SDOI2010]猪国杀
题目大意:猪国杀,又一道大模拟题 题解:模拟,对于一个没有玩过三国杀的人来说,一堆细节不知道,写的十分吃力 卡点:无数,不想说什么了,这告诉我要多玩游戏 C++ Code: #include < ...
- Brainf**k(一位数求max)
题目大意:给你两个一位数,要你求出其中的较大值(使用$Brainf**k$) ($Brainf**k$简介,相当于有一个数组和一个指针,","为把数组当前位赋值为读入的数,&quo ...
- 某ISP的流氓行径 劫持用户HTTP请求插入js代码
最近公司搞的项目有用户反应点击任意链接后偶尔会跳到一个“莫名奇妙”的网站………… 喏,就是这个咯.
- bzoj 1977 洛谷P4180 严格次小生成树
Description: 给定一张N个节点M条边的无向图,求该图的严格次小生成树.设最小生成树边权之和为sum,那么严格次小生成树就是边权之和大于sum的最小的一个 Input: 第一行包含两个整数N ...