docker 容器不断重启,查看不了日志的问题
问题描述
我用docker-compose 启动一个服务,它不断地重启,无法使用 docker logs 命令查看容器的日志,定位问题
解决过程
首先使用docker-compose log 查看日志
docker logs查看不了日志,使用 docker-compose logs -f -t --tail=10 <服务名> 查看服务的日志。
可惜我这个服务的容器,没有日志打印出来,这个方法也不行。
查看docker-compose.yml 中是否定义了资源限制
服务启动不起来,可能是资源不够。查看docker-compose.yml 有没有设置最低资源要求。
我这个服务也没有这个限制。
进入容器进行测试
既然服务启动不起来,那我就用这个镜像,启动容器的时候,不启动服务;然后进入容器中,命令行启动服务,查看控制台输出。
-
修改docker-compose.yml 启动命令为下面的命令,这样容器启动后不会退出 command: ["tail", "-f", "/dev/null"]
-
注释掉自动重启的部分
#restart: on-failure
#healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
# start_period: 90s
# interval: 30s
# timeout: 20s
# retries: 3
-
启动该服务 docker-compose up -d
-
进入该容器 docker exec -it xxx bash
xxx 是容器名
- 命令行启动服务 我这边定位到是因为cpu架构的问题,启动不了该服务。