我想知道如何在容器之间共享应用程序文件夹。 我找到了有关“如何在容器和主机之间共享文件夹”的文章,但找不到“容器到容器”。
我想在后端编辑前端应用程序的代码,所以我需要共享文件夹。 <-这也是我的目标。
有解决方案吗?
我的配置就是这样
/
- docker-compose.yml
|
- backend application
|
_ Dockerfile
|
-Frontend application
|
- Dockerfile
然后 docker-compose.yml就是这样
version: '3'
services:
railsApp: #<- backend application
build: .
command: bundle exec rails s -p 5000 -b '0.0.0.0'
volumes:
- code_share:/var/web/railsApp
ports:
- "3000:3000"
reactApp: #<- frontend application
build: .
command: yarn start
volumes:
- code_share:/var/web/reactApp
ports:
- "3000:3000"
volumes:
code_share:
答案 0 :(得分:2)
您现在已经在前端和后端都安装了named volume。
根据您的配置,您的应用程序/var/web/railsApp
和/var/web/reactApp
都将看到完全相同的内容。
因此,每当您在前端应用程序容器中写入/var/web/reactApp
时,所做的更改也会反映在后端/var/web/railsApp
要实现所需的功能(在railsApp
下有reactApp
和/var/web
),请尝试将主机上的文件夹安装到两个容器中。 (确保您的应用程序正确地写入了各自的/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"