gpt4 book ai didi

java - 如何通过docker容器访问文件夹主机?

转载 作者:行者123 更新时间:2023-12-01 16:24:33 25 4
gpt4 key购买 nike

我实际上遇到了共享文件的问题。

我想访问我的主机文件夹,所以我在 Jenkinsfile 中做了类似的事情:

sh "sudo docker run -d -it -p 16000:16000 -v /PATH/TO/MY/HOST/FOLDER/:/var/tmp --name botvolume MY_IMAGE"

在我的 scala 类中,我尝试使用以下方法获取所有文件夹:

val folders: Array[File] = new File("/PATH/TO/MY/HOST/FOLDER/") 
.listFiles
.filter(_.isDirectory)

但是它不起作用,它返回的大小等于 0。

我读到the docker volumes documentation

有人可以帮助我吗?

最佳答案

容器内卷路径为/var/tmp

那么你的代码应该是:

val folders: Array[File] = new File("/var/tmp/") 
.listFiles
.filter(_.isDirectory)

您可以在您提供的链接上找到有关 Docker 卷绑定(bind)语法的详细信息:

-v 或 --volume:由三个字段组成,以冒号字符 (:) 分隔。字段的顺序必须正确,并且每个字段的含义并不是立即显而易见的。

  • 在绑定(bind)安装的情况下,第一个字段是主机上文件或目录的路径。
  • 第二个字段是容器中文件或目录的挂载路径
  • 第三个字段是可选的,是一个以逗号分隔的选项列表

关于java - 如何通过docker容器访问文件夹主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59370780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com