提问人:Roman 提问时间:11/15/2023 最后编辑:Roman 更新时间:11/15/2023 访问量:61
Docker 容器中控制台应用的运行状况检查 [已关闭]
Healthcheck for console app in Docker container [closed]
问:
我有打包在 docker 容器中的控制台应用程序。 这很简单.NET6.0 控制台应用程序
using Microsoft.Extensions.Configuration;
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();
var configuration = builder.Build();
var baseAddress = configuration.GetValue<string>("BASE_ADDRESS");
Console.WriteLine($"Hello, World! {baseAddress}");
对此控制台应用程序进行健康检查的最佳做法是什么?
如果是 Web 应用程序,我可以添加终结点 \health。 但我有控制台应用程序。在这种情况下,我该怎么办?
答:
2赞
Selaka Nanayakkara
11/15/2023
#1
可以在没有运行状况检查终结点的情况下使用 Powershell 脚本。
例如:
创建运行状况 healthcheck.sh:
pgrep -f "your_application_executable" > /dev/null
在 docker 文件中使用 copy health check 命令
COPY healthcheck.sh /app
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 CMD ["./healthcheck.sh"]
然后构建 docker 镜像:
docker build -t your_image_name .
docker run -d --name your_container_name your_image_name
使用 docker inspect 检查应用程序运行状况:
docker inspect --format='{{json .State.Health.Status}}' your_container_name
上一个:C++ 命令行更新文本居中
下一个:扫雷作为控制台应用程序
评论