Docker 无法在我的 ubuntu20 虚拟机上正确挂载主机 /tmp 中的目录

Docker 无法在我的 ubuntu20 虚拟机上正确挂载主机 /tmp 中的目录

在我的 ubuntu 20 VM(win11 主机上的 hyper-V)上,我想运行 docker 容器并将主机路径/tmp/x(src dir) 中的目录挂载到 docker 容器中。我使用以下命令:

docker run -it -v /tmp/x:/home/a 5472ef85a106 bash --verbose

在容器中,我可以看到目标目录,/home/a但它不包含任何内容,即使主机上的 src-dir 有内容。当我在那里创建一个文件时,它不会出现在主机上的 src 文件夹中,但是当我使用相同的命令挂载另一个容器时,我可以/home/a再次在其目标目录 ( ) 中找到该文件,所以看起来 docker 使用不知何故不同的 src 目录。有人可以向我解释这种行为或指导如何调试吗?

我尝试安装另一个目录,它工作得很好(例如来自 src /home/something)。当我docker inspect在容器上运行时,两个安装(工作的和坏的)的输出看起来相同:

        "Mounts": [
            {
                "Type": "bind",
                "Source": "/tmp/x",
                "Destination": "/home/asdf",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/peter/tmp/archive",
                "Destination": "/home/works",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],

/tmp 本身并不是主机上的挂载,我在 docker 调用中尝试了不同的挂载选项。

相关内容