
ducktors/docker-wait-for-dependencies一个简单的容器,用于在Docker Compose环境中等待声明的其他服务通过TCP协议可访问后再继续执行。支持linux/amd64和linux/arm64架构。
适用于Docker Compose环境中,需要确保依赖服务(如MongoDB、Redis等)完全就绪后再启动主应用服务的场景,避免因依赖服务未准备好导致的应用启动失败。
以下是一个包含依赖服务等待的docker-compose.yml示例:
yamlversion: '2' services: mongo: image: mongo:6 container_name: mongo ports: - 27017:27017 networks: - my-network redis: container_name: redis image: redis:6 ports: - 6379:6379 networks: - my-network server: container_name: server image: server ports: - 3000:3000 networks: - my-network start_dependencies: image: ducktors/docker-wait-for-dependencies depends_on: - mongo - redis container_name: wait-for-dependencies command: mongo:27017 redis:6379 # 指定需要等待的服务端点 networks: - my-network
执行以下命令,确保mongo和redis就绪后再启动server服务:
bash# 等待依赖服务就绪 $ docker-compose run --rm start_dependencies # 启动主服务 $ docker-compose up server
默认情况下,两次检查之间间隔2秒。可通过SLEEP_LENGTH环境变量修改:
yamlstart_dependencies: image: ducktors/docker-wait-for-dependencies environment: - SLEEP_LENGTH=0.5 # 设置为0.5秒间隔
默认超时时间为300秒(5分钟),超时后将停止等待。可通过TIMEOUT_LENGTH环境变量修改:
yamlstart_dependencies: image: ducktors/docker-wait-for-dependencies environment: - SLEEP_LENGTH=1 # 1秒检查间隔 - TIMEOUT_LENGTH=60 # 60秒超时时间

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务