#docker #.net-core
Вопрос:
Я пытаюсь изучить докер практически. Для начала я создал простое консольное приложение .net core 3.1. Это приложение просто записывает сообщение в текстовый файл в определенном месте. Я создал из него образ докера, а затем контейнер докера из изображения. Когда я запускаю контейнер docker, он запускается и успешно останавливается.
Файл docker:
FROM mcr.microsoft.com/dotnet/aspnet:3.1
COPY bin/Release/netcoreapp3.1/publish App/
WORKDIR /App
ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
Я также проверил журналы, используя команду «docker logs container_id». Но это ничего не возвращает.
Я что-нибудь упускаю?
Ответ №1:
Докер запускает процесс внутри контейнера, когда этот процесс заканчивается, контейнер останавливается и тоже заканчивается. Поскольку процесс в вашем контейнере только что-то записывает и завершает работу, контейнер также завершается и останавливается.
Также текстовый файл записывается в файловую систему контейнера. Таким образом, вы не сможете увидеть его на своем хосте, если не используете том. Вместо этого попробуйте распечатать строку в стандартном формате
Комментарии:
1. Спасибо. Ваше предложение написать контент на стандартном выводе сработало. Я попробовал пример, приведенный на docs.microsoft.com/en-us/dotnet/core/docker/… для записи данных в окно консоли и просмотра. Это сработало. Я также попробую использовать подход с объемами.