为什么我没有对作为 tmpfs 安装在 docker 中的 /运行 的读写访问权限?
Why I don't have rw access to /run which is mounted as tmpfs in docker?
❯ docker run -d -it --name debian --mount type=tmpfs,destination=/run,tmpfs-mode=1777 --mount type=tmpfs,destination=/tmp,tmpfs-mode=1777 debian bash
❯ docker exec -it debian ls -lrtd /run /tmp
drwxrwxrwt 2 root root 40 Jul 27 14:06 /tmp
drwxr-xr-x 2 root root 40 Jul 27 14:06 /run
在这里,为什么 tmpfs-mode=1777
没有单独应用于 /运行?
它适用于其他目录。
这里有什么具体原因吗?
我相信由于 /run
已经存在,该目录的权限正在应用于 tmpfs
安装。 /tmp
也发生了同样的事情,但是由于底层 /tmp
目录的权限已经与您想要的相匹配,所以您没有注意到它。
您可以通过在其他目录(例如 /root
)上创建 tmpfs
挂载来验证这一点。你会看到他们采用了挂载点的权限。
如果您确实需要 /run
上的不同权限,您可以在 /run
上构建一个具有所需权限的新映像(或者只是 运行 chmod
一旦容器 运行ning).
❯ docker run -d -it --name debian --mount type=tmpfs,destination=/run,tmpfs-mode=1777 --mount type=tmpfs,destination=/tmp,tmpfs-mode=1777 debian bash
❯ docker exec -it debian ls -lrtd /run /tmp
drwxrwxrwt 2 root root 40 Jul 27 14:06 /tmp
drwxr-xr-x 2 root root 40 Jul 27 14:06 /run
在这里,为什么 tmpfs-mode=1777
没有单独应用于 /运行?
它适用于其他目录。
这里有什么具体原因吗?
我相信由于 /run
已经存在,该目录的权限正在应用于 tmpfs
安装。 /tmp
也发生了同样的事情,但是由于底层 /tmp
目录的权限已经与您想要的相匹配,所以您没有注意到它。
您可以通过在其他目录(例如 /root
)上创建 tmpfs
挂载来验证这一点。你会看到他们采用了挂载点的权限。
如果您确实需要 /run
上的不同权限,您可以在 /run
上构建一个具有所需权限的新映像(或者只是 运行 chmod
一旦容器 运行ning).