Docker挂载了无人拥有的卷文件:无人(失去所有者)

Mis*_*erX 5 permissions docker file-ownership docker-compose docker-volume

将 .ssh 文件夹安装到 Docker 容器中。

主机上的权限 ( ls -laHF):

total 40K
drwxr-xr-x 2 git git 4.0K Apr  7 21:27 ./
drwxr-xr-x 3 git git 4.0K Apr  7 21:20 ../
-rw------- 1 git git 2.7K Apr  7 21:27 authorized_keys
-rw------- 1 git git 2.6K Dec 11 15:34 authorized_keys_1675190689.gitea_bak
-rw------- 1 git git   25 Dec 11 14:02 environment
-rw------- 1 git git  411 Apr  7 21:25 id_ed25519
-rw-r--r-- 1 git git   96 Apr  7 21:25 id_ed25519.pub
-rw------- 1 git git 3.4K Dec 11 14:16 id_rsa
-rw-r--r-- 1 git git  740 Dec 11 14:16 id_rsa.pub
-rw-r--r-- 1 git git  222 Dec 11 14:24 known_hosts
Run Code Online (Sandbox Code Playgroud)

当我转到容器中的安装并执行相同操作时,所有者发生了变化:

total 40K
drwxr-xr-x    2 nobody   nobody      4.0K Apr  7 21:27 ./
drwxr-xr-x    5 git      git         4.0K Dec 11 14:09 ../
-rw-------    1 nobody   nobody      2.6K Apr  7 21:27 authorized_keys
-rw-------    1 nobody   nobody      2.5K Dec 11 15:34 authorized_keys_1675190689.gitea_bak
-rw-------    1 nobody   nobody        25 Dec 11 14:02 environment
-rw-------    1 nobody   nobody       411 Apr  7 21:25 id_ed25519
-rw-r--r--    1 nobody   nobody        96 Apr  7 21:25 id_ed25519.pub
-rw-------    1 nobody   nobody      3.3K Dec 11 14:16 id_rsa
-rw-r--r--    1 nobody   nobody       740 Dec 11 14:16 id_rsa.pub
-rw-r--r--    1 nobody   nobody       222 Dec 11 14:24 known_hosts
Run Code Online (Sandbox Code Playgroud)

这些卷安装有

total 40K
drwxr-xr-x 2 git git 4.0K Apr  7 21:27 ./
drwxr-xr-x 3 git git 4.0K Apr  7 21:20 ../
-rw------- 1 git git 2.7K Apr  7 21:27 authorized_keys
-rw------- 1 git git 2.6K Dec 11 15:34 authorized_keys_1675190689.gitea_bak
-rw------- 1 git git   25 Dec 11 14:02 environment
-rw------- 1 git git  411 Apr  7 21:25 id_ed25519
-rw-r--r-- 1 git git   96 Apr  7 21:25 id_ed25519.pub
-rw------- 1 git git 3.4K Dec 11 14:16 id_rsa
-rw-r--r-- 1 git git  740 Dec 11 14:16 id_rsa.pub
-rw-r--r-- 1 git git  222 Dec 11 14:24 known_hosts
Run Code Online (Sandbox Code Playgroud)

有谁知道这怎么可能?

我尝试将相同的文件夹安装到另一个容器中, docker run -it -v /home/git/.ssh:/data/git/.ssh ubuntu:latest 这次所有文件都属于nobody:nogroup(之前nobody:nobody),所以问题不在于容器内的服务

Mis*_*erX 0

发现我的用户(在本例中git)不在该docker组中。

该组可以添加sudo usermod -aG docker git