Answers:
容器的日志可在以下位置找到:
/var/lib/docker/containers/<container id>/<container id>-json.log
(如果您使用默认的日志格式json)
docker ps
docker ps
,您将获得所有可用的容器及其ID。复制所需容器的ID,然后复制/var/lib/docker/containers/
run ls | grep <paste the copied docker ID>
。然后您会看到该码头集装箱
cd /var/lib/docker/containers/
-bash:cd:/ var / lib / docker / containers /:权限被拒绝 sudo cd /var/lib/docker/containers/
sudo:cd:命令未找到
docker ps --no-trunc
才能看到完整的ID
您可以docker inspect
每个容器查看其日志的位置:
docker inspect --format='{{.LogPath}}' $INSTANCE_ID
而且,如果您试图找出日志在哪里管理它们的集合大小,或调整日志本身的参数,则会发现以下相关内容。
固定为日志保留的空间量
这取自“ 请求清除日志历史记录的功能(issue 1083)”):
Docker 1.8和docker-compose 1.4已经存在一种使用docker compose日志驱动程序和log-opt max-size 限制日志大小的方法:
mycontainer:
...
log_driver: "json-file"
log_opt:
# limit logs to 2MB (20 rotations of 100K each)
max-size: "100k"
max-file: "20"
在版本为'2'的docker compose文件中,语法稍有变化:
version: '2'
...
mycontainer:
...
logging:
#limit logs to 200MB (4rotations of 50M each)
driver: "json-file"
options:
max-size: "50m"
max-file: "4"
(请注意,在两种语法中,数字均以字符串形式用引号引起来)
docker-compose logs
没有终止的可能问题
logs
如果容器已经停止,则命令不会退出要查看每个容器的日志占用了多少空间,请使用以下命令:
docker ps -qa | xargs docker inspect --format='{{.LogPath}}' | xargs ls -hl
(您可能需要一个sudo
before ls
)。
docker ps -qa | xargs docker inspect --format='{{.LogPath}}' | xargs sudo du -hl
004279dd2985037950beeba7e6fe45c10354476d3b82afb68e72dd612b03a8ff
。如何知道特定容器要看哪个文件夹?