什么命令行选项可用于在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
您可以将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)
如果您不需要命名空间隔离,那么您可以使用主机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)`