Я работаю с Docker и создал Dockerfile, который преобразует мое приложение dotnet в образ. Затем я могу запустить этот образ, и все работает нормально. Я использую базу AS mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1809.
Теперь я хотел добавить функцию «HealthCheck» в Docker. В этом HealthCheck я хочу использовать некоторую логику Powershell, но с того момента, как я использую Powershell, de HealthCheck классифицируется как неработоспособный.
Например:
HEALTHCHECK CMD powershell -command exit 0
В результате получается неработоспособный контейнер.
Например:
HEALTHCHECK CMD exit 0
Результат в здоровом контейнере
Любая логика powershell, которую я пытаюсь вставить, которая либо возвращает, либо выходит из 0, дает мне неработоспособные контейнеры. Прямо сейчас я думаю, что это powershell просто ошибается, какой бы ни была логика.
Кто-нибудь может намекнуть, что я делаю неправильно, чтобы получить вход в систему с помощью кода PowerShell внутри моей проверки работоспособности Docker? Мне нужен этот код powershell в HealthCheck по определенной причине, которая на самом деле не важна.
Спасибо
РЕДАКТИРОВАТЬ: я также пробовал:
HEALTHCHECK CMD powershell -command return 0
а также
HEALTHCHECK CMD powershell -command Write-Host 0
Оба с тем же результатом: нездоровый контейнер.
But what exactly do you mean with 'check the exit code'?
Что-то вроде этого: stackoverflow.com/questions/24994595/ - person Nick ODell   schedule 04.08.2020