mac清除docker日志
查看日志路径,当然这个路径正常是无法在宿主机访问的,只能进到docker vm 中才能去找到
$ docker inspect pdf.kfsafe.cn |grep LogPath
"LogPath": "/var/lib/docker/containers/875c4ef5eb20a2544b5896e1113068716cba92994c59ef77979885555c29a5d5/875c4ef5eb20a2544b5896e1113068716cba92994c59ef77979885555c29a5d5-json.log",
网上很多都是screen进入Docker for Mac VM
$ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
但是当前我的mac 无法找到,不知道是什么问题?,有知道的大哥麻烦留个言,谢谢。
$ ll ~/Library/Containers/com.docker.docker/Data/vms/0/tty
ls: cannot access '/Users/cenhuqing/Library/Containers/com.docker.docker/Data/vms/0/tty': No such file or directory
所以此路不通,只能找到下面这个方法
### 这个是删除所有的日志,需要重启docker
$ echo "rm /var/lib/docker/containers/*/*.log" | nc -U -w 0 ~/Library/Containers/com.docker.docker/Data/debug-shell.sock
下面个脚本方法可以删除对应容器的日志
# 此脚本放入到家目录下的~/.zshrc中
clearDockerLog(){
echo "start clear docker log ..."
dockerLogFile=$(docker inspect $1 | grep -G '\"LogPath\": \"*\"' | sed -e 's/.*\"LogPath\": \"//g' | sed -e 's/\",//g')
echo "will clear log path ===>${dockerLogFile} "
echo "rm ${dockerLogFile}" | nc -U -w 0 ~/Library/Containers/com.docker.docker/Data/debug-shell.sock
# 重启服务
if [[ $? -eq 0 ]];then
docker restart $1
fi
}
执行结果
本作品采用《CC 协议》,转载必须注明作者和本文链接