当Docker容器启动失败时,可以通过以下几种方法查看错误日志和详细信息:
docker logs <container_id_or_name>
即使容器已经停止,这个命令仍然可以显示容器上次运行的输出。
docker inspect <container_id_or_name>
这会显示容器的完整配置和状态信息,包括退出代码和错误信息。
docker ps -a
查看所有容器(包括已停止的),找到你的容器并查看其状态。
docker events
可以实时查看Docker事件,包括容器启动失败的事件。
docker run -it <image_name> /bin/bash
这样可以进入容器交互式shell,手动测试命令看看哪里出错。
journalctl -u docker.service
或查看系统日志(取决于你的操作系统):
cat /var/log/docker.log
启动容器时增加调试标志:
docker run --log-level=debug ...
docker inspect -f '{{.State.ExitCode}}' <container_id_or_name>
非0的退出代码通常表示有问题。
docker logs <container_id_or_name> 2>&1 | less
docker-compose logs
docker-compose up --force-recreate
通过以上方法,你应该能够找到容器启动失败的具体原因,从而进行针对性的修复。