作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:
Docker基本情况
Docker基本命令
Dockerfile
Docker镜像
Docker仓库
Docker原理
Docker网络&存储&日志(本小节属于)
Docker-Compose
Docker番外篇
Docker日志
我们在前面介绍的docker的时候有很多日志系统,但是一般情况下我们会很少去调整这个,维护调整的一般都是日志的轮询规则。因为默认情况下docker的日志是不会自动轮询的,如果你的业务使用标准输出,并且产生大量的日志化,这个日志会很大的,作者见过单容器几百G的,这样很容易把磁盘打满,所以需要调整配置来规避这个问题。
bash
#默认日志路径
/var/lib/docker/containers/容器id/容器id-json.log
vi /etc/docker/daemon.json
#可以根据自己的需要进行调整
#这里是只保留3个文件,每个10M
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
根据轮询规则的日志格式就是这样的,这样可以规避这个日志把磁盘打满。但是这样只是能解决磁盘的问题,如果有很多应用需要采集日志,则可以则需要使用其他方法。
Docker存储(volume)
我们前面在讲解Dockerfile的时候和Compose的时候都提过volume,如果我们手工配置volume应该怎么配置呢?
创建volume
bash
[root@localhost ~]# docker volume create test
test
[root@localhost ~]# docker volume ls
DRIVER VOLUME NAME
local test
使用volume
bash
docker run -itd -v test:/data 192.168.31.43:5000/centos:7
这样容器里面的/data目录就直接持久化到了docker的存储volume里面。
Docker的日志和存储目前一般对它改动较少,只要能够理解即可。
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。