问题标签 [tmpfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
356 浏览

docker - 无法将 tmpfs 挂载到容器

我正在尝试使用 docker 1.12.6 在 CentOS 6.8 上启动 kubernetes worker。weave 容器启动时没有成功,它无法从挂载的 tmpfs 卷中获取令牌。我试图在控制台中启动具有相同卷的容器,但看不到来自挂载目录的文件。

Ubuntu 16.04 上的 Docker 1.12.6 没有这个问题。

我要挂载的目录:

我的命令:

命令ls -la /var/run/secrets/kubernetes.io/serviceaccount/什么也没显示。

0 投票
1 回答
337 浏览

docker - 使用 ramdisk 更快地构建 Dockerfile

我们运行一个从大型代码库编译多个工件的构建过程。

在带有 SSD 的体面规格 i7 上,这需要大约 20 分钟,但是当我转向使用 tmpfs 时,时间会下降到大约 3 分钟。

我们正在使用 docker-compose 打包构建过程,以确保所有开发人员都获得相同的构建环境,但也希望他们能够在没有更改的情况下使用 Docker 缓存中的工件运行项目。感知的构建时间是一个问题,但我们也担心会磨损磁盘驱动器,因为每次构建时进程写入 > 1Gb。

有没有办法在 Dockerfile 'RUN' 命令(不是运行容器阶段)中挂载 tmpfs?

我曾尝试使用 mount (如下),但获得的权限被拒绝:

0 投票
1 回答
1002 浏览

windows - 在 Windows 上限制 Docker 容器磁盘大小

我需要一种方法来限制容器的磁盘大小,主要是测试应用程序在磁盘空间不足时的行为。我尝试运行的 Docker 容器使用 Linux 映像。棘手的一点是我需要在 Windows 上执行此操作。我知道使用 tmpfs 和其他一些技巧来做到这一点,但它们都不适用于 Windows。我想我可以对我的实际磁盘进行分区并将其共享给容器,但我想避免这种情况以便于重用(就像其他人一样)。

我真的不在乎解决方案是如何工作的,当然,我更希望通过在 docker 容器内进行挂载来完成,这样我就可以只限制数据文件夹,而不是整个容器,并且最好与 docker 一起使用-compose 也是如此,但我想这无论如何都非常棘手,所以即使没有这个它也会有所帮助!

0 投票
1 回答
1059 浏览

python - SSD 与 tmpfs 速度

tmpfs我使用以下命令在 Ubuntu 的主目录中创建了一个文件系统:

然后我写了这个 Python 程序:

结果:

我对这个结果感到困惑。tmpfs 不是基于 RAM 的文件系统吗? RAM 不应该比任何硬盘(包括 SSD)快得多吗?

此外,我注意到当我将目标文件大小增加到大约 15GB 时,该程序使用了超过 15GB 的 RAM。1 GB。

这怎么解释?

这个实验的背景是,我试图找到硬盘和 Redis 的替代缓存位置,这些位置更快并且可用于多个工作进程。

0 投票
1 回答
883 浏览

docker - 我可以在 WSL2 中使用 docker tmpfs 在 RAM 上运行 docker 容器吗?

docker tmpfs是否在 wsl2 上工作。
如果我在 WSL2 中运行它:

整个容器会在 RAM 中运行吗?

0 投票
1 回答
138 浏览

kubernetes - pod 之间的 k8s 内存卷,或以多容器结构将服务连接到容器

我对 k8s 卷有疑问

结构

我们讨论 2 个服务(pod),一个服务生成文件,另一个服务通过 Web 公开这些文件。

第一个服务需要一个向世界开放的 UDP 连接,还需要一个 TCP 连接来在其他 pod 之间进行通信。
(两种服务,一种用于UDP,一种用于TCP)

服务二需要连接到世界(网络)。
(连接到入口的一项服务)


问题
我需要这两个 pod 之间的内存容量,以加快 R/W 过程。

我检查的解决方案是使用 EmptyDir 卷处理多容器结构(有一个选项可以在内存中运行此卷)

这个解决方案的问题是我无法为那些容器连接 k8s 服务对象,服务只连接到 pod,并且只有 pod 获得 IP 而容器没有。

这种情况有什么解决方案或想法吗?

ps 如果重要的话,我会在 AKS 上运行。

0 投票
0 回答
280 浏览

kubernetes-pod - 无法在所有 POD 中使用介质作为内存挂载指定的限制大小 emptydir 卷(tmpfs)

我的环境要求限制 kubernetes POD 内的 tmpfs 挂载点的大小限制。根据官方 K8S 文档,如果我们使用 emptydir 卷和介质作为“内存”创建 tmpfs 挂载,默认情况下它会将挂载点大小分配为工作节点内存的 50%。因此,要通过一些限制来限制安装点的大小,需要启用以下功能门。此选项将根据需要分配挂载点大小限制。

但是,在使用以下参数生成 POD 后,TMPFS 挂载点仍然分配了 50% 的工作节点内存。

请求有人可以帮助我。

Kubernetes 官方文档 EmptyDir 参考链接: https ://kubernetes.io/docs/concepts/storage/volumes/#emptydir 功能门名称:SizeMemoryBackedVolumes=true 参考中的信息链接:“注意:如果启用了 SizeMemoryBackedVolumes 功能门,您可以为内存支持的卷指定大小。如果未指定大小,则内存支持的卷的大小为 Linux 主机上内存的 50%。"

################################################# ######################## POD 清单文件:apiVersion:apps/v1 种类:Pod 元数据:名称:XXXX 规格:服务名称:“nginx”副本:2选择器:matchLabels:层:XXXXXX模板:元数据:标签:层:XXXXXX应用程序:XXXXXX规范:容器:

  • 名称:nginx1 映像:docker.io/centos:最新命令:[“/bin/bash”、“-ce”、“tail -f /dev/null”] 端口:
  • 容器端口:8443 名称:XXX-Web **volumeMounts:
  • mountPath:/demo 名称:demo-volume 卷:
  • 名称:演示卷 emptyDir:介质:内存大小限制:“100M”** dnsPolicy:“无” dnsConfig:名称服务器:
  • 1.2.3.4
  • 5.6.7.8 搜索:
  • abc.com restartPolicy:总是

################################################# ######################## 工作节点内存: [root@ k8s-dualstack-2-node1 ~]# cat /proc/meminfo | grep MemTotal MemTotal:32780688 kB

使用上述清单文件成功执行 POD 后,这里是 POD 中 DEMO Volume 大小的输出。

root@XXXXX:/# df -h /demo Filesystem Size Used Avail Use% Mounted on tmpfs 16G 0 16G 0% /demo

注意:/demo 文件系统的大小仍然是 16G。

0 投票
0 回答
211 浏览

docker - 用于 dockerfile 的 tmpfs 挂载

我想在 docker 容器中挂载一个 tmpfs 文件系统。为此,我正在传递这样的安装命令:

docker run --mount type=tmpfs,destination=/tempdisk,tmpfs-mode=770,tmpfs-size=4m --name projectname projectname:latest

上面的命令工作得很好。

有没有办法在 dockerfile 中做到这一点?或通过shell脚本?我试图通过 dockerfile 来实现,如下所示:

但是当我执行 docker build 时,它会在第 3 行出现错误:

请指导我。

0 投票
0 回答
95 浏览

docker - 带有 tmpfs 挂载的 Docker BuildKit 构建第二次失败

这有效:

从某种意义上说,非 root 用户myuser能够写入 tmpfs 挂载并且 GO 构建成功完成。

但是,如果我在上面添加前面的内容,则 dockerfile 中的另一条指令会挂载相同的 tmpfs,例如

然后令人惊讶的是,GO构建失败了

tmpfs 挂载似乎在第二次挂载时没有适当的权限。有人有同样的经历吗?这是一个错误吗?

0 投票
1 回答
115 浏览

docker - 具有 'exec' 权限的 Docker --mount type=tmpfs

我正在尝试启动多个服务并挂载 tmpfs,但找不到任何方法将“exec”权限传递给该命令。

当您启动单个容器时,它可以完美地工作,--tmpfs /tmp/test:exec 但我一直在努力使其工作,--mount type=tmpfs,destination=/app 但仍然没有运气找到任何东西。

也许任何好的任何想法都可以解决它,或者我错过了一些东西。