1
0
mirror of /repos/baseimage-docker.git synced 2026-02-26 17:32:03 +01:00

Redirect syslog to 'docker logs' and fix cron

Closes GH-123. Closes GH-115.
This commit is contained in:
Hongli Lai (Phusion)
2015-01-19 18:07:15 +01:00
parent 0b2de757f5
commit 6e55e3d515
6 changed files with 53 additions and 2 deletions

View File

@@ -0,0 +1,38 @@
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
sv reload syslog-ng > /dev/null
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
sv reload syslog-ng > /dev/null
sv restart cron-log-forwarder > /dev/null
endscript
}

View File

@@ -45,3 +45,5 @@ apt-get dist-upgrade -y --no-install-recommends
$minimal_apt_get_install language-pack-en
locale-gen en_US
update-locale LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8
echo -n en_US.UTF-8 > /etc/container_environment/LANG
echo -n en_US.UTF-8 > /etc/container_environment/LC_CTYPE

2
image/runit/syslog-forwarder Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
exec tail -f -n 0 /var/log/syslog

View File

@@ -25,13 +25,19 @@ mkdir /etc/service/syslog-ng
cp /build/runit/syslog-ng /etc/service/syslog-ng/run
mkdir -p /var/lib/syslog-ng
cp /build/config/syslog_ng_default /etc/default/syslog-ng
touch /var/log/syslog
chmod u=rw,g=r,o= /var/log/syslog
# Replace the system() source because inside Docker we
# can't access /proc/kmsg.
sed -i -E 's/^(\s*)system\(\);/\1unix-stream("\/dev\/log");/' /etc/syslog-ng/syslog-ng.conf
## Install syslog to "docker logs" forwarder.
mkdir /etc/service/syslog-forwarder
cp /build/runit/syslog-forwarder /etc/service/syslog-forwarder/run
## Install logrotate.
$minimal_apt_get_install logrotate
sed -i 's|invoke-rc.d syslog-ng reload|sv reload syslog-ng|g' /etc/logrotate.d/syslog-ng
cp /build/config/logrotate_syslogng /etc/logrotate.d/syslog-ng
## Install the SSH server.
$minimal_apt_get_install openssh-server
@@ -55,6 +61,7 @@ cp /build/bin/enable_insecure_key /usr/sbin/
## Install cron daemon.
$minimal_apt_get_install cron
mkdir /etc/service/cron
chmod 600 /etc/crontab
cp /build/runit/cron /etc/service/cron/run
## Remove useless cron entries.