如何用exec,rw标志挂载docker tmpfs?

问题描述 投票:1回答:2

什么命令行选项可用于在docker容器内启用tmpfs(临时文件系统),即rw(读/写)可访问,并且此fs(文件系统)上的文件是可执行的?

示例将是1GByte大小的共享内存tmpfs,但标准标志是noexec (shm on / dev / shm type tmpfs(rw,nosuid,nodev,noexec,relatime,size = 1048576k))with:docker -it --shm-size = 1G alpine / bin / sh

docker mount
2个回答
1
投票

您可以将mount参数传递给--tmpfs参数,例如--tmpfs / mytmp:exec将允许执行文件。

$ docker run --rm -it --tmpfs /mytmp:exec ubuntu bash -c "mount | grep mytmp"
tmpfs on /mytmp type tmpfs (rw,nosuid,nodev,relatime)

0
投票

如果您不需要命名空间隔离,那么您可以使用主机IPC命名空间(--ipc=host):

$ docker run --rm -it --ipc=host alpine sh -c 'mount | grep shm'
tmpfs on /dev/shm type tmpfs (rw,seclabel,nosuid,nodev)

VS

$ docker run --rm -it --shm-size=1G alpine sh -c 'mount | grep shm'
shm on /dev/shm type tmpfs (rw,seclabel,nosuid,nodev,noexec,relatime,size=1048576k)`
© www.soinside.com 2019 - 2024. All rights reserved.