首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP.NET核心码头图像中使用wget而不是curl进行健康检查

在ASP.NET核心码头图像中使用wget而不是curl进行健康检查
EN

Stack Overflow用户
提问于 2022-06-22 01:15:35
回答 1查看 830关注 0票数 0

我想使用ASP.NET核心6健康检查作为码头健康检查。

The docs状态

使用基于阿尔卑斯Linux的图像的容器可以使用包含的wget代替curl。

但这方面没有任何指导,和往常一样,获得“恰到好处”的对接配置更像是一门艺术,而不是一门科学。

我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-22 01:15:35

可以通过docker run CLI或在docker-compose.yml中指定健康检查。我更喜欢在Dockerfile上做。

配置

首先,请注意,默认情况下,ASP.NET核心码头形象公开的是80港,而不是5000 (因此问题中链接的文档是不正确的)。

这是使用curl的典型方法,用于非高山图像:

代码语言:javascript
运行
复制
HEALTHCHECK --start-period=30s --interval=5m \
  CMD curl --fail http://localhost:80/healthz || exit 1

但是curl在阿尔卑斯山的图像中是不可用的。而不是安装它,使用wget

代码语言:javascript
运行
复制
HEALTHCHECK --start-period=30s --interval=5m \
  CMD wget --spider --tries=1 --no-verbose http://localhost:80/healthz || exit 1

HEALTHCHECK开关记录在这里

wget开关记录在这里--spider阻止页面的下载(类似于HTTP ),--tries=1允许对接者控制重试逻辑,--no-verbose (而不是--quiet)确保停靠者记录错误,这样您就知道出了什么问题。

测试

为获得充分地位:

代码语言:javascript
运行
复制
$ docker inspect --format '{{json .State.Health }}' MY_CONTAINER_NAME | jq

或者:

代码语言:javascript
运行
复制
$ docker inspect --format '{{json .State.Health }}' MY_CONTAINER_NAME | jq '.Status'
# "healthy"

$ docker inspect --format '{{json .State.Health }}' MY_CONTAINER_NAME | jq '.Log[].Output'
# "Connecting to localhost:80 (127.0.0.1:80)\nremote file exists\n"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72708667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档