我感兴趣的是让docker可以访问外部文件,但是,我不希望将它们包含在卷中。我需要访问的文件会随着时间的推移而发生变化,这意味着我需要重复重新安装。
除非,我可以挂载一个纯粹的目录,并且该目录中的任何内容也会被挂载。
我只需要将软件程序推入容器,在本地系统上“运行”,此软件程序可以访问我本地系统上的文件。
么?除了添加需要作为卷处理的文件之外,还有其他方法吗?
答案 0 :(得分:12)
我用以下命令解决了同样的问题
docker run --mount type=bind,source="$(pwd)"/data,target=/home/data -it <name_of_container>
注意&#34; -it conainter_name&#34;应该是最后的旗帜。
答案 1 :(得分:0)
听起来好像在容器中安装主机目录是您正在寻找的。您不必重新启动容器以获取已装入目录的更改。 Link to relevant docs.
答案 2 :(得分:0)
我想知道ADD命令是否可以帮助您实现目标。例如,给定Dockerfile行:
ADD /Users/userX/myappfiles /appfiles
和命令行:
docker run myapp --input /myappfiles
myapp
将能够访问本地文件系统上的/Users/userX/myappfiles
以获取其输入。