无法启动 OpenALPR Docker 容器
Cannot Start OpenALPR Docker Container
我见过 post 与我的相似,但我的有点不同。我觉得我可能做错了什么。
我在文件夹中创建了 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.
我完成了以下操作,可能会帮助您更好地调试和理解 Docker。
使用 CMD
而不是 ENTRYPOINT
。基本原因是当您 运行 一个新容器时能够覆盖 CMD
。在此处阅读有关此做法的更多信息:What is the difference between CMD and ENTRYPOINT in a Dockerfile?。所以,我稍微改变了你的 Dockerfile
...
entrypoint ["/bin/sh","-c"]
cmd ["alpr"]
再次构建您的图像
docker build -t openalpr .
运行 像这样的新容器:
docker container run -itd --rm --name=foocontainer openalpr bash
解释:--rm
容器将在退出后删除,bash
覆盖 Docker 文件中提供的 CMD
。 只要这个 CMD
运行s,一个容器就会启动。在您的情况下,alpr
失败并且容器退出。现在它将保持不变。
如果容器已启动,您可以"get inside"键入如下命令:
docker container exec -it foocontainer bash
从现在开始,您将能够 运行 alpr
并了解为什么它会在容器未停止的情况下失败。
我希望我已经阐明了一些...:-)
我见过 post 与我的相似,但我的有点不同。我觉得我可能做错了什么。
我在文件夹中创建了 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.
我完成了以下操作,可能会帮助您更好地调试和理解 Docker。
使用
CMD
而不是ENTRYPOINT
。基本原因是当您 运行 一个新容器时能够覆盖CMD
。在此处阅读有关此做法的更多信息:What is the difference between CMD and ENTRYPOINT in a Dockerfile?。所以,我稍微改变了你的Dockerfile
...entrypoint ["/bin/sh","-c"] cmd ["alpr"]
再次构建您的图像
docker build -t openalpr .
运行 像这样的新容器:
docker container run -itd --rm --name=foocontainer openalpr bash
解释:
--rm
容器将在退出后删除,bash
覆盖 Docker 文件中提供的CMD
。 只要这个CMD
运行s,一个容器就会启动。在您的情况下,alpr
失败并且容器退出。现在它将保持不变。如果容器已启动,您可以"get inside"键入如下命令:
docker container exec -it foocontainer bash
从现在开始,您将能够 运行 alpr
并了解为什么它会在容器未停止的情况下失败。
我希望我已经阐明了一些...:-)