Docker 可以在不同容器之间共享文件夹吗?

Docker 可以在不同容器之间共享文件夹吗?,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我想知道如何在容器之间共享应用程序文件夹。 我找到了关于“如何在容器和主机之间共享文件夹”的文章,但找不到“容器到容器” 我想在后端编辑前端应用程序的代码,所以我需要共享该文件夹 您现在已经在前端和后端安装了 根据您的配置,您的应用程序/var/web/railsApp和/var/web/reactApp将看到完全相同的内容。 因此,每当您在前端应用程序容器中写入/var/web/reactApp时,更改也会反映在后端/var/web/railsApp 要实现您想要的(在/var/web下使用r

我想知道如何在容器之间共享应用程序文件夹。 我找到了关于“如何在容器和主机之间共享文件夹”的文章,但找不到“容器到容器”


我想在后端编辑前端应用程序的代码,所以我需要共享该文件夹 您现在已经在前端和后端安装了

根据您的配置,您的应用程序
/var/web/railsApp
/var/web/reactApp
将看到完全相同的内容。 因此,每当您在前端应用程序容器中写入
/var/web/reactApp
时,更改也会反映在后端
/var/web/railsApp

要实现您想要的(在
/var/web
下使用
railsApp
reactApp
),请尝试将主机上的文件夹装入两个容器中。(确保应用程序正确写入相应的
/var/web
文件夹

mkdir-p/var/web/railsApp/var/web/reactApp

然后调整您的撰写文件:

version: '3'
services:
 railsApp: #<- backend application
    build: .
    command: bundle exec rails s -p 5000 -b '0.0.0.0'
    volumes:
      - /var/web:/var/web
    ports:
      - "3000:3000"
  reactApp: #<- frontend application
    build: .
    command: yarn start
    volumes:
      - /var/web:/var/web
    ports:
      - "3000:3000"

版本:“3”
服务:

railsApp:#您现在已经在前端和后端安装了

根据您的配置,您的应用程序
/var/web/railsApp
/var/web/reactApp
将看到完全相同的内容。 因此,每当您在前端应用程序容器中写入
/var/web/reactApp
时,更改也会反映在后端
/var/web/railsApp

要实现您想要的(在
/var/web
下有
railsApp
reactApp
),请尝试将主机上的文件夹装入两个容器中。(确保您的应用程序正确写入各自的
/var/web
文件夹。)

mkdir-p/var/web/railsApp/var/web/reactApp

然后调整您的撰写文件:

version: '3'
services:
 railsApp: #<- backend application
    build: .
    command: bundle exec rails s -p 5000 -b '0.0.0.0'
    volumes:
      - /var/web:/var/web
    ports:
      - "3000:3000"
  reactApp: #<- frontend application
    build: .
    command: yarn start
    volumes:
      - /var/web:/var/web
    ports:
      - "3000:3000"

版本:“3”
服务:

railsApp:#您是在“代码共享”卷中完成的。请描述哪些内容不适合您,包括您运行的命令和看到的错误。@BMitch谢谢您回答我的问题!当我执行时 docker ps-it“sh它位于/var/web/railsApp这没问题,但我在/var/web/i上看不到react应用程序我想在/var/web/上同时看到这两个应用程序。这可能吗?您是通过“代码共享”完成的音量。请描述什么不适合您,包括您运行的命令和看到的错误。@BMitch谢谢您回答我的问题!当我执行时 docker ps-it“sh它位于/var/web/railsApp这没问题,但我在/var/web/上看不到react应用程序,我想在/var/web/上同时看到这两个应用程序。这可能吗?谢谢!!!因此每个docker文件的workdir将是“workdir/var/web/(react或rails)应用程序”是的???@Naoya是的,没错。我没有时间测试,但它应该可以工作,如果有任何错误,请纠正我。我会相应地更新答案。它工作得很好。但是当我执行docker compose一个react应用程序时。在/ver/web中没有节点模块,那么我无法很好地构建它。因此无法创建任何文件或折叠/var/执行docker compose时的web??谢谢!!!因此每个docker文件的WorkTir将是“workdir/var/web/(react或rails)应用程序”是的???@Naoya是的,没错。我没有时间测试,但它应该可以工作,如果有任何错误,请纠正我。我会相应地更新答案。它工作得很好。但是当我执行docker compose一个react应用程序时。在/ver/web中没有节点模块,那么我无法很好地构建它。因此无法创建任何文件或折叠/var/web何时执行docker compose??
version: '3'
services:
 railsApp: #<- backend application
    build: .
    command: bundle exec rails s -p 5000 -b '0.0.0.0'
    volumes:
      - /var/web:/var/web
    ports:
      - "3000:3000"
  reactApp: #<- frontend application
    build: .
    command: yarn start
    volumes:
      - /var/web:/var/web
    ports:
      - "3000:3000"