从 docker 容器访问主机的文件夹

Reach host's folders from docker container

我在主机的这个目录中有一个文件夹/files/username/username 是可变的。

这是我的 Dockerfile 的 CMD 指令:

CMD ./entrypoint.sh

我想获取 entrypoint.sh/files/username/ 文件夹的内容。我可以像这样将用户名变量作为环境变量:

$ docker run -e username="User 1" ...

通过这种方式是否可以访问 entrypoint.sh 中主机设备的文件夹?

有两种方法。

共享主文件夹

docker run -v /files:/files -e username="User 1"

这样您的入口点脚本将能够在任何用户上运行

仅共享用户文件夹

docker run -v /files/user:/files/user -e username="User 1"

这只会为该特定用户提供访问权限