不修改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的连接。

相关内容

热门资讯

五分钟透明!博乐温州棋牌有没有... 这是一款非常优秀的博乐温州棋牌有没有挂 ia辅助检测软件,能够让你了解到博乐温州棋牌有没有挂中牌率当...
六分钟辅助挂!博雅红河棋盘外挂... 1、六分钟辅助挂!博雅红河棋盘外挂,微扑克智能助手(详细透视辅助挂教程);详细教程。2、博雅红河棋盘...
6分钟黑科技!友友邳州麻将辅助... 6分钟黑科技!友友邳州麻将辅助器,微扑克靠谱(详细透视辅助软件教程);实战中需综合运用上述技巧,并根...
4分钟攻略!传送屋有外 挂,德... 4分钟攻略!传送屋有外 挂,德扑之星记分牌有有用(详细透视辅助挂教程);传送屋有外 挂黑科技是一款具...
5分钟了解!浙江游戏大厅辅具器... 5分钟了解!浙江游戏大厅辅具器,来玩app辅助工具(详细透视辅助器教程);(需添加指定薇757446...
7分钟介绍!广东雀神辅助器怎么... 7分钟介绍!广东雀神辅助器怎么买,微扑克职业代打(详细透视辅助助手教程);亲,其实确实真的有挂(需添...
三分钟攻略!可乐斗地主有没有挂... 三分钟攻略!可乐斗地主有没有挂,智星德州菠萝在哪下载(详细透视辅助神器教程);可乐斗地主有没有挂黑科...
九分钟规律!花花生活圈脚本,云... 九分钟规律!花花生活圈脚本,云扑克有辅助软件(详细透视辅助软件教程);(需添加指定薇75744690...
七分钟总结!中至窝龙必赢攻略,... 相信很多朋友都在电脑上玩过中至窝龙必赢攻略吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给大家...
1分钟详情!六瓣数字消有没有挂... 1分钟详情!六瓣数字消有没有挂,cloudpoker辅助器(详细透视辅助工具教程)关于六瓣数字消有没...