不修改Dockerfile的情况下,延迟启动Docker服务直到MongoDB运行。
创始人
2025-01-10 10:30:21
0

你可以使用Docker Compose中的depends_on来解决延迟启动Docker服务直到MongoDB运行的问题。下面是一个示例的docker-compose.yml文件:

version: '3'
services:
  mongodb:
    image: mongo
    ports:
      - 27017:27017
    restart: unless-stopped
  app:
    build: .
    command: sh -c "until nc -z mongodb 27017; do sleep 1; done && npm start"
    depends_on:
      - mongodb
    restart: unless-stopped

在这个示例中,我们定义了两个服务:mongodbapp。在app服务中,我们使用了depends_on来指定mongodb服务作为依赖。在command中,我们使用nc命令来检查MongoDB的端口是否可用,如果不可用则等待1秒,直到端口可用后才启动应用程序。

这样,当我们使用docker-compose up来启动这些服务时,Docker会先启动MongoDB服务,然后再启动应用程序服务,并且确保应用程序服务在MongoDB服务可用后再启动。

注意,尽管使用了depends_on,但它并不能保证服务的可用性,它只能确保服务的启动顺序。因此,你可能还需要在应用程序代码中添加适当的延迟或重试机制来确保对MongoDB的连接。

相关内容

热门资讯

为了进一步!微乐小程序黑科技,... 为了进一步!微乐小程序黑科技,微乐小程序黑科技辅助工具推荐(透视)切实是真的挂(哔哩哔哩)该软件可以...
六分钟工具!微乐小程序免费黑科... 六分钟工具!微乐小程序免费黑科技,微乐小程序黑科技(开挂)确实有挂(2026)微乐小程序免费黑科技透...
随着!微乐小程序黑科技,微信小... 随着!微乐小程序黑科技,微信小程序微乐安徽辅助(透视)其实有挂(哔哩哔哩)1、每一步都需要思考,不同...
4分钟安装!微乐小程序免费黑科... 4分钟安装!微乐小程序免费黑科技,微乐自建房脚本最新版本更新内容(开挂)都是真的有挂(2026)该软...
透视黑科技!微乐小程序黑科技,... 透视黑科技!微乐小程序黑科技,微乐自建房辅助工具免费(透视)本来存在有挂(哔哩哔哩)1)微乐自建房辅...
8分钟工具!微乐小程序免费黑科... 您好,微乐小程序免费黑科技这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很...
九分钟辅助!微乐小程序免费黑科... 九分钟辅助!微乐小程序免费黑科技,微乐小程游戏破解器下载(开挂)原来真的有挂(2026)1、全新机制...
透视透视!微乐小程序免费黑科技... 透视透视!微乐小程序免费黑科技,微乐自建房辅助神器怎么安装(透视)一贯是真的挂(哔哩哔哩)在进入微乐...
十分钟插件!微乐小程序黑科技,... 十分钟插件!微乐小程序黑科技,微信小程序微乐为什么老输(开挂)一贯有挂(2026)1、进入游戏-大厅...
2026版教程!微乐小程序免费... 2026版教程!微乐小程序免费黑科技,陕西微乐挖坑小程序脚本(透视)总是是有挂(哔哩哔哩)陕西微乐挖...