Docker服务更新停机时间



我有一个带docker服务的AWS EC2。该服务只有一个容器,当我更新容器(更改图像(时,我会有一个停机时间(大约1分钟(。

这是我的docker服务创建代码:

docker service create 
--name service-$IMAGE_NAME 
--publish 80:80 
--env ENVIRONMENT=$(cat /etc/service_environment) 
--env-file=/etc/.env 
--replicas=1 
--update-failure-action rollback 
--update-order start-first 
$ECR_IMAGE

此处更新代码:

#pull image from private ECR repository
docker pull $IMAGE
docker service update 
--force 
--image $IMAGE:latest 
--update-failure-action rollback 
--update-order start-first 
service-$IMAGE_NAME

为什么会发生这种情况?怎么了?谢谢

更改镜像意味着您将停止现有的docker实例,并启动一个新实例。这就是为什么它会下降一段时间,在你的情况下,是1分钟。现在是docker实例重新启动的时候了。您可以使用2 ec2实例和负载均衡器来实现无缝连接。您更新了一个实例并将流量重新初始化到另一个实例,然后在更新成功后更新另一个。

最新更新