Контейнер запускается и немедленно завершается при включении EC2

#.net #amazon-web-services #docker #amazon-ec2

#.net #amazon-веб-сервисы #docker #amazon-ec2

Вопрос:

У меня есть очень простое приложение, которое выполняет запись в файл, и поскольку запись в файл выполняется в бесконечном цикле, код не завершается. И я хочу, чтобы это было в контейнере docker и было в AWS.

Локальная настройка:

Я попробовал решение на локальном, и, похоже, все работает нормально. Ниже приведен код:

 static void Main(string[] args)
{
    string path = @"c:dataMyTest.txt";
    int i = 0;
    while (true)
    {
        string createText = $" {i}   Hello and Welcome"   Environment.NewLine;
        File.AppendAllText(path, createText);
        i  ;
    }
}
  

Команды Docker:

  docker build -t test:1.0 .
 docker run -v c:data {ImageID}
  

Когда я запускаю приведенную выше команду, я использую Docker Volumes и я вижу, что создается случайная папка в ../docker/fasdfasdfas/_data , и я вижу, MyText.txt что туда постоянно записывается и мой CONTAINER NEVER STOPS .

Пока все хорошо

Теперь шаги AWS:

  1. Загрузил изображение в один из экземпляров EC2 на базе Windows.

Теперь, когда я запускаю ту же команду

  docker run -v c:data {ImageID}
  

контейнер запускается и немедленно останавливается. Не уверен, что здесь происходит.

Файл Docker:

 # getting base image
FROM microsoft/windowsservercore:latest

ADD ./bin/debug /exe/

ENTRYPOINT ["/exe/BackendService.bat"]
  

BackendService.bat

 start c:exeConsoleApp16.exe 
  

Я проверил журналы и там тоже не вижу никакой проблемы

Ответ №1:

В вашем dockerfile c:data каталог не создан.
Если проблема не в этом, зарегистрируйте или распечатайте сообщения об ошибках, а затем запустите docker logs CONTAINER_NAME или kubectl logs -p POD_NAME для проверки на наличие ошибок.