如何连接两个Docker容器的文件系统

时间:2020-07-06 09:06:18

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

所以我有一个在容器1上运行的静态文件(Web应用程序),以及在容器2上运行的node js应用程序,我希望该节点应用程序具有对container1中的静态文件的写访问权限。我该如何实现?

到目前为止我尝试过的是

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

2 个答案:

答案 0 :(得分:1)

一种方法是docker-compose volume

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

主机OS文件系统中的

/share将在这两个容器之间共享

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

答案 1 :(得分:0)

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

另一个选择是将一个卷装载到两个容器上。如果安装了相同的体积,则通过一个容器进行的任何更改将反映在另一个容器中。可以找到更多信息here