在EC2上,容器会立即旋转并退出

时间:2019-04-03 01:32:13

标签: .net amazon-web-services docker amazon-ec2

我有一个非常基本的应用程序,它可以写入文件,并且由于写入文件是无限循环的,因此代码不会退出。我希望将其放入docker容器并加入AWS。

本地设置:

我在本地尝试了该解决方案,并且看起来一切正常。下面是代码:

static void Main(string[] args)
{
    string path = @"c:\data\MyTest.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. 将图像上传到基于Windows的EC2实例之一。

现在,当我运行相同的命令时

 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:\exe\ConsoleApp16.exe 

我检查了日志,也没有看到任何问题

1 个答案:

答案 0 :(得分:0)

在您的dockerfile中,未创建c:\data\目录。
如果那不是问题,请记录或打印错误消息,然后触发docker logs CONTAINER_NAMEkubectl logs -p POD_NAME来检查错误。