非常教程

Docker 17参考手册

引擎: 管理员指南 | Engine: Admin Guide

tmpfs mounts

卷和绑定座默认情况下装入容器的文件系统,它们的内容存储在主机上。

在某些情况下,您可能不希望将容器的数据存储在主机上,但也不希望将数据写入容器的可写层,原因是性能或安全原因,或者数据与非持久性应用程序状态有关。一个例子可能是容器的应用程序创建并根据需要使用的临时一次性密码。

为了让容器访问数据而不需要永久写入数据,可以使用tmpfs只存储在主机内存中的挂载(如果内存不足,则使用交换)。当容器停止时,tmpfs安装座被移除。如果容器已提交,tmpfs则不会保存安装。

tmpfs mounts

选择-tmpfs或-挂载标志。

最初,--tmpfs标志用于独立容器,--mount旗号用于群服务。但是,从Docker 17.06开始,您还可以使用--mount用独立的容器。总的来说,--mount更明确更详细。最大的区别是--tmpfs标志不支持任何可配置选项。

针尖新用户应使用--mount语法。有经验的用户可能更熟悉--tmpfs语法,但鼓励使用--mount因为研究表明它更容易使用。

  • --tmpfstmpfs安装时不允许您指定任何可配置选项,并且只能与独立容器一起使用。
  • --mount*由多个键值对组成,以逗号分隔,每个键值由一个<key>=<value>元组。大--mount语法比-v--volume,但是键的顺序并不重要,并且标志的值更容易理解。
- The `type` of the mount, which can be [`bind`](../bind-mounts-md/index), `volume`, or [`tmpfs`](index). This topic discusses `tmpfs`, so the type will always be `tmpfs`.
- The `destination` takes as its value the path where the `tmpfs` mount will be mounted in the container. May be specified as `destination`, `dst`, or `target`.
- The `tmpfs-type` and `tmpfs-mode` options. See [tmpfs options](about:blank#tmpfs-options).

下面的示例显示了--mount--tmpfs在可能的情况下语法,以及--mount首先介绍。

差异--tmpfs--mount行为

  • --tmpfs标志不允许您指定任何可配置选项。
  • --tmpfs标记不能与群集服务一起使用。你必须用--mount...

tmpfs容器的限制

  • tmpfs容器之间不能共享挂载。
  • tmpfs挂载只在Linux容器上工作,而不是在Windows容器上工作。

在容器中使用tmpfs挂载

使用tmpfs安装在容器中,使用--tmpfs标志,或使用--mount旗子type=tmpfsdestination选择。没有sourcetmpfs坐骑。下面的示例创建tmpfs/app在Nginx容器里。第一个示例使用--mount标志和第二个使用--tmpfs旗子。

  • --mount
  • --tmpfs
$ docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app \
  nginx:latest
$ docker run -d \
  -it \
  --name tmptest \
  --tmpfs /app \
  nginx:latest

验证挂载是否为tmpfs跑上山docker container inspect tmptest寻找Mounts部分:

"Tmpfs": {
    "/app": ""
},

拆下容器:

$ docker container stop tmptest

$ Docker container rm tmptest

指定tmpfs选项

tmpfs挂载允许两个配置选项,这两个选项都不是必需的。如果需要指定这些选项,则必须使用--mount旗帜,如--tmpfs旗子不支持他们。

选项

描述

tmpfs的大小

tmpfs的大小,以字节为单位。无限制默认。

tmpfs的模式

tmpfs的八进制文件模式。例如,700或0770.默认为1777或世界可写。

下面的示例设置tmpfs-mode1770,因此在容器中它是不可读的。

docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app,tmpfs-mode=1770 \
  nginx:latest

下一步

  • 了解卷
  • 了解绑定座
  • 了解存储驱动程序

储物,持久力,数据持久性,tmpfs

引擎: 管理员指南 | Engine: Admin Guide相关

1.Amazon CloudWatch记录日志记录驱动程序(引擎) | Amazon CloudWatch logs logging driver (Engine)
2. 绑定挂载 | Bind mounts (Engine)
3.使用Prometheus(引擎)收集Docker指标 | Collect Docker metrics with Prometheus (Engine)
4.配置和运行Docker(引擎) | Configuring and running Docker (Engine)
5.配置日志记录驱动程序 | Configuring logging drivers (Engine)
6.使用systemd控制和配置Docker(引擎) | Control and configure Docker with systemd (Engine)
7.ETW日志记录驱动程序(引擎) | ETW logging driver (Engine)
8.流利的日志驱动程序(引擎) | Fluentd logging driver (Engine)
9.格式化命令和日志输出(引擎) | Format command and log output (Engine)
10.Google Cloud日志记录驱动程序(引擎) | Google Cloud logging driver (Engine)
11.Graylog扩展格式(GELF)日志记录驱动程序(引擎) | Graylog Extended Format (GELF) logging driver (Engine)
12.Journald日志记录驱动程序(引擎) | Journald logging driver (Engine)
13.JSON文件日志记录驱动程序(引擎) | JSON File logging driver (Engine)
14.在守护进程停机期间保持容器处于活动状态(引擎) | Keep containers alive during daemon downtime (Engine)
15.限制容器的资源(引擎) | Limit a container's resources (Engine)
16.通过大使容器链接(引擎) | Link via an ambassador container (Engine)
17.记录驱动程序的日志标记(引擎) | Log tags for logging driver (Engine)
18.Logentries日志驱动程序(引擎) | Logentries logging driver (Engine)
19.PowerShell DSC用法(引擎) | PowerShell DSC usage (Engine)
20.修剪未使用的Docker对象(引擎) | Prune unused Docker objects (Engine)
21.在容器中运行多个服务(引擎) | Run multiple services in a container (Engine)
22.运行时指标(引擎) | Runtime metrics (Engine)
23.Splunk日志记录驱动程序(引擎) | Splunk logging driver (Engine)
24.自动启动容器(引擎) | Start containers automatically (Engine)
25.存储概述(引擎) | Storage overview (Engine)
26.Syslog日志记录驱动程序(引擎) | Syslog logging driver (Engine)
27.解决卷问题(引擎) | Troubleshoot volume problems (Engine)
28.使用日志驱动程序插件(引擎) | Use a logging driver plugin (Engine)
29.使用Ansible(引擎) | Using Ansible (Engine)
30.使用Chef(引擎) | Using Chef (Engine)
31.使用Puppet(引擎) | Using Puppet (Engine)
32.查看容器的日志(引擎) | View a container's logs (Engine)
33.Volumes (Engine)
Docker 17

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

主页 https://docker.com/
源码 https://github.com/docker/docker
版本 17
发布版本 17.06