gpt4 book ai didi

linux - 安装到 linux docker 容器卷的 Windows 文件夹不显示所有文件夹

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:43 26 4
gpt4 key购买 nike

我有一个从 alpine 图像创建的 docker 容器,并在 Windows 10 专业版的 docker-desktop 上运行它。目的是将其用作 sftp 服务器。

我已经将我的 D 驱动器挂载为 docker-compose 文件中的一个卷。

在入口点脚本中,我在容器中创建了两个文件夹 folder1 和 folder2,使用以下脚本段在挂载卷的位置:

log "Creating folder structure"

if ! [ -d "/home/foo/mountlocation/folder1" ]
then
`mkdir -p /home/foo/mountlocation/folder1`
log "folder1 created!"
fi

if ! [ -d "/home/foo/mountlocation/folder2" ]
then
`mkdir -p /home/mountlocation/folder2`
log "folder2 created!"
fi

运行 docker-compose up 时,我看到所有这三个日志语句都输出到控制台。

文件夹 folder1 和 folder2 都已创建并出现在我的 D 盘中。

当我进入我的容器时,cding 到/home/foo/mounttlocation/文件夹并使用 ls -a 命令,folder2 被列为文件夹的只有内容。

如果我在 Windows 中的 D 盘中创建一个文件夹 folder3,以及 folder1 和 folder2,然后再次在容器中 ls -a,将显示文件夹 2 和 folder3。

我可以 cd 进入 folder1,即使它没有列出。我可以使用命令打印当前文件夹的名称

printf '%s\n' "${PWD##*/}"

输出是

folder1

当我 sftp 进入容器时,folder1 不可见。

我需要入口点脚本创建的两个文件夹都可见。

它怎么可能存在而不可见呢?我怎样才能做到这一点,以便在构建和启动容器时,两个文件夹都可见?

最佳答案

问题已解决。主机上安装的文件夹位于 USB 驱动器上,它似乎与 docker 配合不佳。我将挂载文件夹更改为主机上的硬盘位置,它工作正常。

关于linux - 安装到 linux docker 容器卷的 Windows 文件夹不显示所有文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55913905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com