无法启动OpenALPR Docker容器

我见过一个类似于我的post,但是我的有点不一样。 我觉得我可能做错了什么。

我已经在一个文件夹中创build了这个Dockerfile 。 然后在该文件夹中:

docker build -t openalpr https://github.com/openalpr/openalpr.git 

一切顺利: docker images

创build一个容器:

 docker create --name foocontainer <IMAGE> 

现在, docker container ls -a我看到我的集装箱。 我需要ssh进入它,所以我需要在附加之前开始? docker start <container id>没有消息,所以我然后docker ps我什么都看不到。 我需要docker attach <container id>所以我可以运行bash命令。 任何帮助? 我在Mac上。

我做了以下这些可能会帮助您更好地debugging和了解Docker。

  1. 使用CMD代替ENTRYPOINT 。 基本的原因是当你运行一个新的容器时能够覆盖CMD 。 在这里阅读更多关于这种做法: Dockerfile中的CMD和ENTRYPOINT有什么区别? 。 所以,我已经改变了你的Dockerfile有点…

     entrypoint ["/bin/sh","-c"] cmd ["alpr"] 
  2. 再次构build您的图像

     docker build -t openalpr . 
  3. 像这样运行一个新的容器:

     docker container run -itd --rm --name=foocontainer openalpr bash 

    解释:– --rm容器将在退出后被删除, bash覆盖Dockerfile中提供的CMD只要CMD运行,一个容器就会启动 。 在你的情况下, alpr失败,集装箱退出。 现在它会保持。

  4. 如果一个容器启动了,你可以“进入”键入命令,如下所示:

     docker container exec -it foocontainer bash 

从现在开始,您将能够运行alpr并查看为什么在没有停止容器的情况下失败。

我希望我已经摆脱了一些光:…)