Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查状态已退出的docker容器的内容(1)_Docker_Docker Container - Fatal编程技术网

如何检查状态已退出的docker容器的内容(1)

如何检查状态已退出的docker容器的内容(1),docker,docker-container,Docker,Docker Container,我必须提到,我对docker world是新手 我已经使用image为web应用程序创建了docker容器。当我使用以下命令运行应用程序时: $ docker run --privileged --name img -d -e ROOT_PASS="root" -e PRODUCT_CMD="startapp" -v /C:/w:/application -p 8080:8080 -p 1521:1521 -p 5001:5001 -p 9990:9990

我必须提到,我对docker world是新手

我已经使用image为web应用程序创建了docker容器。当我使用以下命令运行应用程序时:

$ docker run --privileged --name img -d -e ROOT_PASS="root" -e PRODUCT_CMD="startapp" -v /C:/w:/application -p 8080:8080 -p 1521:1521 -p 5001:5001 -p 9990:9990 app_image:1.0
容器启动。 当我使用以下命令检查状态时:

$ docker ps -a
容器的状态已退出(1)

之后,我尝试使用

$ winpty docker exec -it cntadev /bin/bash
我得到错误消息: 来自守护程序的错误响应:容器4B80921849E0FBDDDE4AFF564C7A523AA94F163ABCF54EC003FF785659C8BB0未运行


我的问题:如何检查docker容器的内容以确保它包含所有文件?我正在使用docker桌面。我可以在文件系统中的某个地方找到容器吗?

我会使用这种方法来找出图像中的问题所在

注意:如果您所在的容器从未真正启动过,并且您需要找出原因,那么这个答案是有效的。如果容器确实启动并且由于某些原因崩溃,那么这种方法就不起作用

检查用于启动容器的命令:

docker-inspect应用程序_图像:1.0 | jq-r.[0][“Config”][“Cmd”][0]'
启动覆盖原始命令的新容器:

docker运行--特权\
--名称img_调试\
-它\
-e ROOT\u PASS=“ROOT”-e PRODUCT\u CMD=“startapp”\
-v/C:/w:/application\
-第8080:8080页-第1521:1521页-第5001:5001页-第9990:9990页\
应用程序图片:1.0/bin/bash

现在,您应该在新创建的容器中,您应该能够简单地执行原始命令,并从日志中找出发生了什么问题。

共享来自已退出容器的日志,docker logs imghow to check logs?@Ronald asn Kayvan在评论中提到要检查需要运行的日志
docker logs
,其中name/ID是容器的名称或ID。例如,
docker日志17a24c933bda
下面是日志中的错误消息:/opt/scripts/setupProduct.sh:line 67:/dbs/init.ora:没有这样的文件或目录