Docker组成:延迟启动从同一映像创建的容器

vh0rcniy  于 2023-03-22  发布在  Docker
关注(0)|答案(1)|浏览(352)

我想运行同一个镜像的两个示例,并延迟容器的启动。Container2应该比container1晚30秒启动。
下面是docker compose文件的截图。

service:
  image: xxxxx:latest
  restart: always
  deploy:
  replicas: 2

我想运行同一镜像的两个示例,并延迟容器的启动。Container2应该比container1晚30秒启动。如何实现?
我尝试了下面的代码。但它是为了更新容器晚,而不是延迟开始。

service:
  image: xxxxx:latest
  restart: always
  deploy:
  replicas: 2
  update_config:
    delay: 30s

你知道我该怎么做吗?

jpfvwuh4

jpfvwuh41#

您可以通过使用Docker Compose的healthcheck功能沿着healthcheckhealth_start_period选项来实现这一点。

version: '3'
services:
  my-service:
    image: xxxxx:latest
    restart: always
    deploy:
      replicas: 2
    healthcheck:
      test: ["CMD-SHELL", "echo ok"]
      interval: 5s
      timeout: 5s
      retries: 3
      start_period: 30s
    health_start_period: 30s

相关问题