无法启动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。
-
使用
CMD
代替ENTRYPOINT
。 基本的原因是当你运行一个新的容器时能够覆盖CMD
。 在这里阅读更多关于这种做法: Dockerfile中的CMD和ENTRYPOINT有什么区别? 。 所以,我已经改变了你的Dockerfile
有点…entrypoint ["/bin/sh","-c"] cmd ["alpr"]
-
再次构build您的图像
docker build -t openalpr .
-
像这样运行一个新的容器:
docker container run -itd --rm --name=foocontainer openalpr bash
解释:–
--rm
容器将在退出后被删除,bash
覆盖Dockerfile中提供的CMD
。 只要CMD
运行,一个容器就会启动 。 在你的情况下,alpr
失败,集装箱退出。 现在它会保持。 -
如果一个容器启动了,你可以“进入”键入命令,如下所示:
docker container exec -it foocontainer bash
从现在开始,您将能够运行alpr
并查看为什么在没有停止容器的情况下失败。
我希望我已经摆脱了一些光:…)