Docker 学习笔记(四):问题日志
一、Docker-Compose 容器组开机重启失败
Docker-Compose 的 depends_on 参数在 docker 中没有对应。
重启电脑后,容器的重启过程只由 docker 控制,而 docker 不会依据 depends_on 的顺序启动容器,这导致容器组可能重启失败。
目前的解决办法是使用 systemd 或者 supervisor,在开机时运行 docker-compose up 命令。
二、Docker 空间清理
在使用固定的构建节点构建 Docker 镜像时,正常情况下会在构建完成后自动清理掉生成的镜像,但是如果构建流程出现问题,就有可能导致镜像没有被清理。
最方便的方法是在构建完成后,使用命令 docker system prune --all --force 清理掉所有没有被使用的镜像、容器、网络、数据卷,不能在构建完成后直接使用前面的命令清理完全清理,因为这可能会清理掉别的构建任务的中间镜像!!!导致 push 的时候找不到包,或者构建下一步时,发现中间容器被删除了。。
更好的方法是使用定时任务(crontab 或者 jenkins triggler)在每天晚上没有 docker 构建任务运行时,再跑 docker system prune --all --force
Docker 容器日志占满存储空间
部署了 ELK 系统抓 MySQL 数据,结果过了一天,50G 空间就满了,而 ES 本身的数据才 200M 不到。
使用 du -h <目录> --max_depth 1 逐级排查,发现罪魁祸首是 /var/lib/docker/containers 文件夹。这里面的 <container-id>/<container-id>-json.log (container id 是对应的容器 id)把磁盘用光了。
Google /var/lib/docker/containers 占用空间 了解到,这些 log 文件就是对应容器的日志,docker logs <container_id> 日志一大堆。
解决方法
首先 echo "" > xxx-json.log 临时清理掉这些日志。永久解决办法如下:
方法一:使用 docker-compose.yml(只针对特定 service)
version: '2'
services:
elasticsearch:
...
logging: # 限制容器服务的日志大小,否则 docker logs 会占满磁盘空间
options:
max-size: "10m"
max-file: "1"
volumes:
- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
ports:
- "9200:9200"
- "9300:9300"
方法二:全局修改
修改 /etc/docker/daemon.json,添加如下内容:
{
...... // 省略若干配置
"log-driver":"json-file",
"log-opts": {"max-size":"10m", "max-file":"3"}
}
三、查看 DOcker 容器的连接数
docker inspect -f '{{.State.Pid}}' <containerid> # 查找到容器的 pid
sudo nsenter -t <pid> -n netstat | grep ESTABLISHED # 通过 pid 检索所有连接
Docker 学习笔记(四):问题日志的更多相关文章
- Docker学习笔记四:Docker镜像、容器管理工具shipyard
一.拉取以下几种镜像: docker pull alpineshipyard/shipyarddocker pull swarm docker pull shipyard/shipyarddocker ...
- Docker学习笔记四 Docker容器
本文地址:https://www.cnblogs.com/veinyin/p/10439849.html 容器是独立运行的一个或一组应用及他们的运行态环境,对应虚拟机的操作系统和应用. 启动 可 ...
- Docker学习笔记总结
Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/ 一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...
- go微服务框架kratos学习笔记四(kratos warden-quickstart warden-direct方式client调用)
目录 go微服务框架kratos学习笔记四(kratos warden-quickstart warden-direct方式client调用) warden direct demo-server gr ...
- Docker学习笔记之-在CentOS中安装Docker
上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...
- Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
随机推荐
- sqlite3 查看Cookie文件<转>
原帖地址:https://blog.csdn.net/yygydjkthh/article/details/37604309 .使用命令对此数据库进行打开: $ sqlite3 cookies.sql ...
- git 代码版本回退
1.查看 commit id 2.git reset --hard "dfdfdfdf" // commit id 3.git push -f -u origin 2.1.0 // ...
- 怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解
在操作cookie之前,先来看一下cookie长什么样. 可以看到,cookie是一个个键值对(“键=值”的形式)加上分号空格隔开组合而成, 形如: "name1=value1; name2 ...
- MiniUI treeGrid 动态加载数据与静态加载数据的区别
说明:treegrid静态数据加载时数据结构是一棵树包含children节点集合,而采用动态加载数据时数据是List结构的具体项. 静态加载数据 test1.html <!DOCTYPE htm ...
- 1.0 Android基础入门教程
1.0 Android基础入门教程 分类 Android 基础入门教程 本教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识,由于当时能力局限,虽已竭尽全力 ...
- 初始化html font-size
(function () { var docEl = document.documentElement, resizeEvt = 'orientationchange' in window ? 'or ...
- 使用kindeditor获取不到富文本框中的值
获取不到富文本框中的值,网上一搜一堆,但最终没有几个能解决问题的,折腾一番最终解决.注意就是红色代码,加上之后就可以解决问题了. KindEditor.ready(function (K) { var ...
- VS2010/VS2012/VS2015下openGL环境配置(转)
按:按照下述博文,三个例子均成功. https://blog.csdn.net/so_geili/article/details/51685005 请仔细阅读每一个字. 为了学习<OpenGL超 ...
- kafka删除topic后再创建同名的topic报错(ERROR org.apache.kafka.common.errors.TopicExistsException)
[hadoop@datanode3 logs]$ kafka-topics.sh --delete --zookeeper datanode1:2181 --topic firstTopic firs ...
- LODOP中带caption的表格被关联并次页偏移测试
ADD_PRINT_TABLE中的thead和tfoot可以每页输出,后面的打印项关联表格,可以紧跟着表格,实现在表格后面紧跟着输出内容的效果,表格可以自动分页,并总是跟在表格后面 ,在表格最后输出. ...