我根据ubuntu:16.04
制作了一张图片。在构建图像时,我确实运行了一些命令,包括apt-get -y update
。
然后,我按docker run -it myimage bash
浏览图片,我发现logrotate
中有一些省略的文件与普通ubuntu16.04
操作系统相比。
例如,/etc/logrotate.conf
,/usr/sbin/logrotate
,/var/lib/logrotate/status
。
即使运行find / -name logrotate*
,我也无法在任何地方找到它们。 find
命令仅显示/etc/logrotate.d
(/etc/cron.daily
,/etc/cron.weekly
也存在)。
看到logrotate.d
之类的logrotate的恍惚状态,我认为logrotate必须存在于那里。
然而,为什么它不仅没有那些文件,甚至还有可执行文件? 我想要他们,因为我想尝试it(How can I monitor what logrotate is doing)
我怎么能用ubuntu16:04图像制作呢?
答案 0 :(得分:1)
Each container should have only one concern(即:没有服务,没有守护进程,没有其他工具)。考虑到这一点,logrotate配置文件被省略是有意义的,因为 logrotate守护程序不存在。
管理容器日志的替代方法可能是使用共享卷(然后logrotate可以在主机上运行)(an example of that)或委派给docker logging drivers。