【发布时间】:2021-08-12 05:45:50
【问题描述】:
您好,我有多个项目都有自己的 dockerfile 和 docker-compose.yml 文件。我不太熟悉如何在这些项目之间建立网络。因此他们可以共享相同的数据库,并且该项目将能够与另一个进行对话。有人有建议吗?
现在,在其中一个项目中,我只是将所有 dockerfile 拉入 docker-compose.yml 并在此 yml 文件中的所有其他项目中设置我需要的所有服务。我认为这并不理想,并且服务之间存在高度耦合。
version: "3"
services:
db:
image: mysql/mysql-server
ports:
- 3306:3306
mongo:
image: mongo
restart: always
rails_app:
build:
context: ${RAILS_APP_PATH}
dockerfile: Dockerfile
volumes:
- ${RAILS_APP_PATH}:/application
ports:
- 4000:4000
depends_on:
- db
- mongo
links:
- db
- mongo
frontend:
build:
context: ${FRONTEND_PATH}
ports:
- ${EXPOSED_PORT}:${EXPOSED_PORT}
depends_on:
- go_services
links:
- go_services
go_services:
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
depends_on:
- db
- mongo
- rails_app
links:
- db
- mongo
- rails_app
【问题讨论】:
标签: docker networking docker-compose dockerfile