如何在主机上访问docker容器外的文件/文件夹?

18 浏览
0 Comments

如何在主机上访问docker容器外的文件/文件夹?

这个问题已经有答案了

如何在Docker容器中挂载主机文件夹

我们正在创建一个名为“扫描器”的开源工具,该工具在用户输入指定文件夹/目录的路径(本地)后,扫描该文件夹中的文件。

它的功能非常完美,但现在我们需要使用Docker将其容器化,但问题在于我们无法在构建镜像时绑定整个根/系统(因为在大多数情况下,它可能非常大,并且还包含许多不必要的文件和文件夹等)。但我们还希望访问用户提供“扫描器”所需的特定文件夹中的文件(本地),并且该文件夹将位于容器外

因此,您是否有任何想法,如何实现这一点,并且我们可以从容器外访问文件和文件夹,并在运行时使用它们

admin 更改状态以发布 2023年5月23日
0
0 Comments

您可以设置您的应用程序仅扫描图像中的当前文件夹。

使用docker run ...运行图像的容器时,如果设置了-w标志,表示容器的默认工作目录。

除了-v标志外,您还可以将主机上的目录挂载到容器的工作目录中(使用-w指定的目录)。

您可以在Maven官方图像及其Dockerfile中看到一个示例。

$ docker run ... -v /my_files_to_compile:/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn clean install

my_files_to_compile是主机目录,其中包含Java源文件。
/usr/src/mymaven是主机目录将被挂载的路径/工作目录,也是容器将要执行的路径/工作目录。

0