Docker compose docker compose延迟容器构建和启动

Docker compose docker compose延迟容器构建和启动,docker-compose,Docker Compose,我有两个容器按顺序运行 我使用dependens-on确保下一个仅在当前一个运行之后启动 我意识到其中一个容器还有一些cron任务要完成, 因此,下一个容器具有要导入的正确数据 在这种情况下,我不能仅仅依赖于参数 如何延迟下一个容器的启动?说等5分钟 docker compose示例: test1: networks: - test image: test1 ports: - "8115:8115" container_name: te

我有两个容器按顺序运行

我使用dependens-on确保下一个仅在当前一个运行之后启动

我意识到其中一个容器还有一些cron任务要完成, 因此,下一个容器具有要导入的正确数据

在这种情况下,我不能仅仅依赖于参数

如何延迟下一个容器的启动?说等5分钟

docker compose示例:

  test1:
    networks:
      - test
    image: test1
    ports:
      - "8115:8115"
    container_name: test1

  test2:
    networks:
      - test
    image: test2
    depends_on:
      - test1
    ports:
      - "8160:8160"

您可以使用entrypoint脚本,类似于以下内容(需要安装netcat):


并通过服务中的指令(在docker compose文件中)或Dockerfile(CMD指令)执行它。

我不寻找检查服务是否可用的方法。但计时器是预定义的。下一次服务启动时可用的服务现在不工作。因为服务可用,所以仍然需要完成几个cron作业,然后才能安全地启动下一个服务。
until nc -w 1 -z test1 8115; do
  >&2 echo "Service is unavailable - sleeping"
  sleep 1
done
sleep 2
>&2 echo "Service is up - executing command"