无法启动OpenALPR Docker容器

时间:2017-10-23 09:13:08

标签: docker openalpr

我看过一个类似于我的帖子,但我的情况有点不同。我觉得我可能做错了什么。

我在文件夹中创建了this Dockerfile。然后在那个文件夹中:

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

一切顺利:docker images

创建容器:

docker create --name foocontainer <IMAGE>

现在,docker container ls -a我看到了我的容器。我需要ssh到它所以我需要在附加之前启动? docker start <container id>之后没有消息,所以我docker ps我什么都没看到。我需要docker attach <container id>所以我可以运行bash命令。有帮助吗?我在Mac上。

1 个答案:

答案 0 :(得分:0)

我已经完成了以下操作,可以帮助您更好地调试和理解Docker。

  1. 使用CMD代替ENTRYPOINT。基本原因是在运行新容器时能够覆盖CMD。在此处阅读有关此做法的更多信息:What is the difference between CMD and ENTRYPOINT in a Dockerfile?。所以,我已经改变了你的Dockerfile ......

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

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

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

    解释:退出后将删除--rm容器,bash会覆盖Dockerfile中提供的CMD只要此CMD运行,容器就会启动。在您的情况下,alpr失败,容器退出。现在它会熬夜。

  4. 如果容器已启动,您可以“进入”#34;输入这样的命令:

    docker container exec -it foocontainer bash
    
  5. 从现在开始,您将能够运行alpr并查看在没有容器停止的情况下失败的原因。

    我希望我能说清楚......: - )