【问题标题】:How do I mount volumes on a docker container that is being created by another docker container?如何在另一个 docker 容器创建的 docker 容器上挂载卷?
【发布时间】:2019-12-10 14:17:27
【问题描述】:

我有一个使用 docker 的容器化 REST API 服务器。我已使用 docker flag
--mount type=bind, source=<path/on/hostmachine>, target=<path/on/container>

将主机上的一个文件夹安装到这个 rest 容器

这非常有效,我可以看到我的主机和休息容器之间的文件的实时映射。现在,我的 rest 容器生成一个 yaml 文件,其中包含新容器的配置,并将此配置文件写入共享卷挂载。

我想将包含由其余容器生成的配置文件的相同<path/on/hostmachine> 挂载到出现的新容器中。问题是,我没有使用 cli 启动容器。

这就是我不能使用--mount 标志的原因。我尝试了多种方法来尝试通过yaml文件进行操作。

块引用 - 使用绝对路径作为
volumes: - <absolute/path/on/hostmachine>:<path/on/new/container>

没用。

块引用 - 使用类型定义为
volumes: - type: bind source:<absolute/path/on/hostmachine> target:<path/on/new/container>

的卷

没有用,给卷应该是字符串错误

如何将相同的主目录挂载到 REST 容器上出现的新容器?

【问题讨论】:

  • 你用什么来启动第二个容器?
  • 一个简单的 yaml 文件和命令 docker-compose -f filename.yaml up -d。我在其余容器上安装了 docker-compose
  • 所以你是在第一个容器中建立 compose 服务?
  • 假设是,您的source 用于组成服务的卷的路径不应该是第一个容器内的路径(即不在主机上吗?)
  • 第一种方法到底出现了什么错误?

标签: docker yaml containers volumes


【解决方案1】:

我在第一种方法中发现了问题。我将路径用作“./Users/username/Desktop”而不是“/Users/username/Desktop”,这导致路径不匹配。我误解了缺少错误。菜鸟失误,过错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-14
    • 2017-07-21
    • 2017-10-23
    • 2021-09-17
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多