如何检查状态已退出的docker容器的内容(1)
我必须提到,我对docker world是新手 我已经使用image为web应用程序创建了docker容器。当我使用以下命令运行应用程序时:如何检查状态已退出的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 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:没有这样的文件或目录