如何使用 exec,rw 标志挂载 docker tmpfs?
How to mount docker tmpfs with exec,rw flags?
哪些命令行选项可用于在 Docker 容器内启用 tmpfs
(临时文件系统),即 rw
(read/write) 可访问和此 fs(文件系统)上的文件是否可执行?
示例是大小为 1GByte 的共享内存 tmpfs
,但标准标志是 noexec
( shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1048576k) )
与:
docker -it --shm-size=1G alpine /bin/sh
您可以将挂载参数传递给 --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)
如果不需要命名空间隔离,那么可以使用主机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)
对
$ 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)`
哪些命令行选项可用于在 Docker 容器内启用 tmpfs
(临时文件系统),即 rw
(read/write) 可访问和此 fs(文件系统)上的文件是否可执行?
示例是大小为 1GByte 的共享内存 tmpfs
,但标准标志是 noexec
( shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1048576k) )
与:
docker -it --shm-size=1G alpine /bin/sh
您可以将挂载参数传递给 --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)
如果不需要命名空间隔离,那么可以使用主机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)
对
$ 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)`