【问题标题】:How can i connect the filesystems of two docker containers如何连接两个 docker 容器的文件系统
【发布时间】:2020-07-06 09:06:18
【问题描述】:

所以我有一个在容器 1 上运行的静态文件(Web 应用程序)和一个在容器 2 上运行的节点 js 应用程序,我希望节点应用程序对容器 1 中的静态文件具有写入权限。我怎样才能做到这一点?

到目前为止我尝试了什么:

  • docker compose,但它只允许容器之间的通信(网络访问),不共享同一个文件系统。因此,节点无法访问 C1 上的文件。

【问题讨论】:

标签: node.js docker docker-compose containers docker-volume


【解决方案1】:

一种方法是docker-compose volume

docker-compose v3 的示例配置 yaml 文件如下。

host-os 文件系统中的/share 将在这两个容器之间共享

version: "3"
services:
  webapp:
    image: webapp:1.0
    volumes:
      - /share:/share
  nodeapp:
    image: nodeapp:1.0
    volumes:
      - /share:/share

【讨论】:

    【解决方案2】:

    在其中一个容器上使用简单的 HTTP 服务器(可以找到一个简单的节点 here)将允许您托管静态文件。然后,可以使用所有容器所在的网络从其他容器访问它。

    另一种选择是将卷安装到您的两个容器中。如果安装了相同的卷,则通过一个容器所做的任何更改都会反映在另一个容器中。更多信息可以在here找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2021-01-26
      • 2018-06-16
      • 2014-01-15
      相关资源
      最近更新 更多