可以 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.
我有兴趣让 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.