debuggingDocker立即退出?

我正在按照官方docker教程: https : //docs.docker.com/get-started/part2/#build-the-app

我可以成功构buildDocker镜像(在创buildDockerfile,app.py和requirements.txt之后)并查看它:

docker build -t friendlyhello . docker ps -a 

但是,运行时会立即退出

 docker run -p 4000:80 friendlyhello 

我找不到find为什么不起作用的方法

1)“docker ps -a” – 说容器已退出2)docker日志“容器名称”不会返回关于日志的信息3)我可以将shell附加到它:

 docker run -p 4000:80 friendlyhello /bin/sh 

但我没有设法find(grep)任何日志信息(在/ var / log)4)附加-t和-d的前景和分离模式没有帮助

我还能做什么?

注意:在一个退出的(停止的)容器上的docker exec应该是不可能的(参见moby issue 30361 )

docker logsdocker inspect停止的容器应该仍然是可能的,但docker执行确实不是。

你应该看看

 Error response from daemon: Container a21... is not running 

所以,一个docker检查你正在运行的镜像应该显示入口点和cmd,就像这个答案一样 。
正常的行为是在这个答案中描述的。

我会debugging一个容器,它不是通过将入口点切换到/ bin / bash或者只要我想要保持容器活动的东西来启动,然后单独运行每个命令/或者至less从起点来确保我在正确的位置,它有必要的权限。 然后,我将能够看到在哪里打破