可以 Docker 访问外部文件

Having Docker access External files

我有兴趣让 Docker 访问外部文件,但我不希望将它们作为一个卷包含在内。我需要访问的文件会随着时间的推移而改变,这意味着我需要反复重新挂载,除非我只能挂载一个目录,并且该目录中的任何内容也会被挂载。

我只需要允许一个软件程序被推入容器,运行 "over" 我的本地系统,这个软件程序可以访问我本地系统上的文件。

建议?除了将需要处理的文件作为一个卷添加外,还有其他方法吗?

听起来您正在寻找的是在容器中安装主机目录。您无需重新启动容器即可获取对已安装目录的更改。 Link to relevant docs.

我想知道 ADD 命令是否可以帮助您实现目标。例如,给定 Dockerfile 行:

ADD /Users/userX/myappfiles /appfiles

和命令行:

docker run myapp --input /myappfiles

myapp 将能够访问本地文件系统上的 /Users/userX/myappfiles 以获取其输入。

我用下面的命令解决了同样的问题

docker run  --mount type=bind,source="$(pwd)"/data,target=/home/data -it <name_of_container>

Note "-it conainter_name" should be the last flags.