0
❯ 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 ?
它适用于其他目录。
这里有什么具体原因吗?

4

1 回答 1

1

我相信由于/run已经存在,该目录的权限正在应用于tmpfs挂载。发生了同样的事情/tmp,但是由于基础/tmp目录上的权限已经与您想要的匹配,您不会注意到它。

tmpfs您可以通过在其他目录(例如)上创建挂载来验证这一点/root。您会看到它们采用了挂载点的权限。

如果您确实需要/run不同的权限,您可以构建一个具有所需权限的新映像/run(或者chmod在容器运行后运行)。

于 2021-07-27T14:34:51.380 回答