在 Docker Swarm 上部署和运行分布式应用
在 Docker Swarm 上部署和运行分布式应用时,有诸多关键要点需要掌握,下面将详细介绍。
健康检查
在分布式应用中,仅从容器外部看其运行状态,往往无法准确判断内部应用的实际健康状况。比如,容器可能看似正常运行,但内部应用可能陷入无限循环或处于损坏状态。因此,SwarmKit 提供了定义健康检查命令的功能,通过执行该命令来测试服务的健康状况。
以下是 Dockerfile 中健康检查的示例:
FROM alpine:3.6
…
HEALTHCHECK --interval=30s \
--timeout=10s \
--retries=3 \
--start-period=60s \
CMD curl -f http://localhost:3000/health || exit 1
...
健康检查的参数及含义如下:
- --interval :定义健康检查之间的等待时间,这里是每 30 秒执行一次检查。
- --timeout :若健康检查无响应,Docker 等待的超时时间,此例为 10 秒。若一次健康检查失败,SwarmKit 会重试几次,若仍失败则将对应任务标记为不健康。
- --retries :重试次数,这里设置为 3 次。
- --start-period :有些容器启动需要时间,在此期间可
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



