【发布时间】:2020-09-14 09:48:04
【问题描述】:
我刚开始使用 Docker,创建了几个小型 Express(NodeJS) 服务。 计划是在 Docker 容器中运行微服务,然后使用 Docker Compose 服务名称在它们之间建立相互通信。
这是这个简单项目的Github repo。我能够使用以下命令构建图像:
cd books
docker build -t node-micro/books .
cd auth
docker build -t node-micro/auth .
启动容器的命令:
docker run -d -p 6677:6677 node-micro/auth
docker run -d -p 7766:7766 node-micro/books
但是当我点击下面的 URL 时没有响应,这在前几天运行良好:
http://localhost:6677/
http://localhost:7766/
并且不知道 docker compose 发生了什么。停止所有容器后访问上述相同的 URL 没有运气,删除所有图像并运行此命令:
docker-compose up -d
在单独启动容器以及通过 docker-compose 启动容器方面需要一些帮助。
【问题讨论】:
-
@nischay 提供的解决方案有效,但想知道为什么这两个微服务应该在各自容器内的不同端口上运行?喜欢
3000&3005。
标签: node.js docker docker-compose containers microservices