当我与docker-compose分开运行它们时,容器退出

时间:2020-03-13 08:28:33

标签: docker docker-compose dockerfile containers microservices

我从here运行了一个开源微服务。当我运行docker ps时,所有容器状态均为UP,表示它们继续运行。我的问题是,当我分别运行一个容器时,它没有继续运行并退出。以下是docker-compose文件中定义的服务之一。

social-graph-service:

   image: yg397/social-network-microservices
   hostname: social-graph-service
   restart: always
   entrypoint: SocialGraphService

当我使用命令运行它时

sudo docker run -d --restart always --entrypoint SocialGraphService --hostname social-graph-service yg397/social-network-microservices

则其状态不为UP,运行后退出。当我使用sudo docker-compose up运行它们时,为什么所有容器都连续运行?并在我单独运行它们时退出?

1 个答案:

答案 0 :(得分:0)

图形服务似乎要依赖MongoDB才能运行。我的猜测是,当您单独运行它时,它会崩溃,因为mongo实例不存在并且无法连接。

回购协议的作者编写了docker-compose文件,以向您隐藏一些复杂性,但这是微服务之间关系的实质树,大多数微服务似乎都依赖于现有的其他服务才能启动。

-更新-

真正的问题在下面的评论中。在尝试启动另一个容器时,OP已经在运行docker-compose堆栈,但忘记将容器连接到docker-compose生成的docker网络。