Docker exec仅包含最后构建步骤的结果

时间:2018-12-27 15:12:05

标签: docker docker-compose

我看到许多有关故障排除的建议,告诉人们运行docker exec -t <container_id> /bin/bash。这对我从来没有用过,因为我的容器似乎只包含成功完成的最后一个构建步骤的结果。谁能告诉我如何调试完全构建的容器?

2 个答案:

答案 0 :(得分:2)

您缺少交互式参数

尝试:

docker exec -it container_id /bin/bash

docker exec -it container_id bash

如果您使用的是基于高山的容器,请

docker exec -it container_id sh

使用docker compose,您可以执行以下操作:

docker-compose exec <service_name> bash

答案 1 :(得分:0)

这取决于您的容器是否装满。 如果不是,则此命令在您的容器关闭时将不起作用,因此您可以在启动容器时使用“ -verbose”:docker-comppose up --verbose。 如果您的容器已启动,则可能是因为您的映像不包含二进制bash。您的容器基于哪个图像?