【问题标题】:Dockerfile, mount host windows folder over serverDockerfile,在服务器上挂载主机 windows 文件夹
【发布时间】:2020-09-16 08:00:47
【问题描述】:

我正在尝试将主机的文件夹挂载到docker container,但没有成功。我有以下设置:

  1. Windows机器
  2. 从1我访问linux服务器
  3. 在 2 上,我创建了一个 docker 容器,它应该能够访问 1 上的文件

dockerfile 中,我执行以下操作:

ADD //G/foo/boo /my_project/boo

这会引发找不到文件夹的错误,因为容器试图访问linux 上的文件夹。但是,我确实希望容器能够访问 Windows 机器。

最好不要将文件从源文件夹复制到目标文件夹。我不确定ADD 是复制文件还是只是提供访问文件的机会。

【问题讨论】:

  • 嗨,阿贝,向超级用户提问。
  • @Peter,谢谢,这是链接 - superuser.com/questions/1585935/…
  • Docker 对访问其他系统上的文件没有任何特殊支持。您需要以某种方式在 Linux 系统上挂载 Windows 驱动器,然后将其挂载到容器中(您不能在 Dockerfile 中强制挂载任何特定卷)。这似乎不是一个与编程相关的问题。

标签: linux windows docker docker-compose dockerfile


【解决方案1】:

卷旨在附加到正在运行的容器,而不是附加到用于构建 docker 映像的容器。如果您想让正在运行的容器访问共享文件系统,则需要在创建期间附加应用程序容器的卷。此步骤取决于您用于部署容器的内容,但如果您使用的是 docker-compose,则可以如下所示完成

nginxplus:
  image: bhc-nginxplus
  volumes:
  - "${path_on_the_host}:${path_in_the_container}"

使用 docker 命令

docker run -v ${path_on_the_host}:${path_in_the_container} $image

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 2018-01-20
    • 2021-09-22
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多