Docker 小技巧

Docker 日志过大导致磁盘占满

docker 默认使用的是 json driver, 也就是说会把打到标准输出的日志以 json 文件的形式存储起来,时间一长,如果日志也多的话,很容易就会产生几个 G 的日志。

在 /etc/docker/daemon.json 中增加如下配置:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3" 
  }
}

Docker 删除镜像“Permission Denied”

sudo aa-remove-unknown

这种一般是因为使用了 ubuntu snap 安装的 docker。建议 snap remove docker 然后安装官方版。

删除所有停止的容器

docker rm `docker ps -aq`

删除所有没有 tag 的镜像

docker rmi `docker images | grep "^<none>" | awk '{print $3}'`

进入运行中的镜像

docker exec -it CONTAINER_NAME bash

杀死所有运行中的镜像

docker kill $(docker ps -q)

删除所有镜像

docker rmi $(docker images -q)

查看日志的时候只显示最近的

docker logs --tail 10 container

参考

  1. https://stackoverflow.com/questions/52119832/how-to-tail-a-docker-log-from-the-current-position-in-the-log-without-seeing-the
  2. https://stackoverflow.com/questions/49104733/docker-on-ubuntu-16-04-error-when-killing-container
  3. https://docs.docker.com/config/containers/logging/json-file/

及时获取更新,请关注公众号“爬虫技术学习(spider-learn)”

公众号“爬虫技术学习(spider-learn)”

About 逸飞

后端工程师

发表评论

邮箱地址不会被公开。 必填项已用*标注