我从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运行它们时,为什么所有容器都连续运行?并在我单独运行它们时退出?
答案 0 :(得分:0)
图形服务似乎要依赖MongoDB才能运行。我的猜测是,当您单独运行它时,它会崩溃,因为mongo实例不存在并且无法连接。
回购协议的作者编写了docker-compose文件,以向您隐藏一些复杂性,但这是微服务之间关系的实质树,大多数微服务似乎都依赖于现有的其他服务才能启动。
-更新-
真正的问题在下面的评论中。在尝试启动另一个容器时,OP已经在运行docker-compose堆栈,但忘记将容器连接到docker-compose生成的docker网络。