Mongodb Docker与mongo集装箱不规则组合未连接
我有两个带有docker-compose.yml的容器:Mongodb Docker与mongo集装箱不规则组合未连接,mongodb,docker,docker-compose,Mongodb,Docker,Docker Compose,我有两个带有docker-compose.yml的容器: version: "3" services: sourcejs: image: neogucky/myapplication command: /bin/bash /home/myapplication/startScript.sh ports: - "80:8080" restart: always links: - mongo mongo: image:
version: "3"
services:
sourcejs:
image: neogucky/myapplication
command: /bin/bash /home/myapplication/startScript.sh
ports:
- "80:8080"
restart: always
links:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
restart: always
首次启动时,此配置有效:
docker-compose -p productive up -d
现在我遇到了一个奇怪的问题:当我重新启动服务器,docker自动启动我的两个容器时,有时myapplication容器会陷入无休止的启动循环。由于其启动脚本的一部分将使用git更新文件,因此需要大约2分钟才能启动需要连接到mongo容器的应用程序。不工作时,它会说
MongoError: failed to connect to server [mongo:27017] on first connect [MongoError: getaddrinfo ENOTFOUND mongo mongo:27017]
Docker不断重新启动myapplication容器,但除非我重新启动主机,否则错误将包括。重新启动后,这一次有50%的几率工作。当进入docker ps时,一切看起来都很好,mongo服务器已启动并正在运行,但myapplication server每2分钟就会重新启动一次
有什么想法吗?你能尝试在docker compose文件中翻转服务顺序吗?看起来mogodb并没有在预期的时间内完成,但它收集的端口最终无法在下次重新启动时正确清理。您能尝试在docker compose文件中翻转服务顺序吗?看起来mogodb在预期的时间内没有出现,但它收集的端口在下次重新启动时最终没有得到正确的清理。我们可以看到mongo容器中的日志吗?@techtrainer非常感谢,这似乎解决了问题!至少在最近的5次重新启动中,我觉得mongodb启动不正确仍然很奇怪,而docker的想法是,每一次启动时,一切都会完全相同,但您关于它没有清理端口的解释对我来说是有意义的。@IgnacioMillán如果问题再次出现,我很乐意提供日志。