我有以下 docker-compose.yml
。它有多个相互通信的服务。
version: "3.9"
services:
model:
build:
context: ./services/model
dockerfile: Dockerfile.dev
container_name: model
volumes:
- ./services/model/:/usr/app
server:
build:
context: ./services/server
dockerfile: Dockerfile.dev
container_name: server
env_file: ./services/server/.env
depends_on:
- db
- model
volumes:
- ./services/server/:/usr/app
- node_modules:/usr/app/node_modules
ports:
- "${SERVER_PORT}:${SERVER_PORT}"
volumes:
dbdata:
node_modules:
我想将其部署到 Heroku。我找到了关于如何使用 heroku.yml
将多容器应用程序部署到 Heroku 的 this article。但是似乎没有任何关于如何在这些容器之间创建网络并让它们相互通信的解释。
我想知道如何使用 Heroku 完成同样的任务。
谢谢!
已编辑:
我删除了 db
服务,因为可以使用 heroku 的 postgres
插件。另外,请忽略卷安装部分。只是为了本地开发。
但是,我需要 server
与 model
服务通信。因此,我需要它们像在 docker-compose
中那样位于同一个网络上,这会为容器之间创建一个虚拟网络来相互通信。我还看到 this answer 说可以使用 Docker swarm。但我发现它不再被积极维护。 Kubernetes 也可以是一种选择,但我需要某种方式在 Heroku 上部署这种应用程序。我是 Docker 的新手。所以任何建议都将不胜感激!
谢谢!