如何在带有openssh-server的Docker容器中启用ssh连接日志(/var/log/auth.log)?
我的容器中不存在/var/log/auth.log。
我的容器中不存在/var/log/auth.log。
- Docker版本: 9.0
- 主机: Ubuntu 13.10
- 容器: Ubuntu 13.10
认证日志由Syslog服务管理。
这个服务本身通常由init系统(在你的情况下是Upstart)来管理(启动)。
默认情况下,容器不会运行init系统,这意味着你需要手动启动rsyslog
:
认证日志由 Syslog 服务管理,该服务通常由 init 系统(在您的情况下为 Upstart)启动。
默认情况下,容器不会运行 init 系统,这意味着您需要手动启动 rsyslog
:
# rsyslogd
之后,你会在 /var/log 中找到你通常的日志文件。
注意:启动系统与Docker容器不完全兼容。一种常见做法是使用 Supervisord 来自动启动多个服务/进程。
rsyslog
软件包:$ apt-get install rsyslog
然后启动守护进程:
$ service rsyslog start
看起来像下面这样的消息可以忽略,sshd
会记录到 /var/log/auth.log
中。
* Starting enhanced syslogd rsyslogd
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
rsyslogd: activation of module imklog failed [v8.32.0 try http://www.rsyslog.com/e/2145 ]