【问题标题】:Docker container sshd logsDocker 容器 sshd 日志
【发布时间】:2014-04-26 21:18:09
【问题描述】:

如何使用 openssh-server 在 Docker 容器中启用 ssh 连接日志 (/var/log/auth.log)?

我的容器中不存在 /var/log/auth.log。

  • Docker 版本:9.0
  • 主机:Ubuntu 13.10
  • 容器:Ubuntu 13.10

【问题讨论】:

    标签: logging ssh docker


    【解决方案1】:

    在docker容器中安装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 ]
    

    【讨论】:

      【解决方案2】:

      身份验证日志由 Syslog 服务管理。 该服务本身传统上由 init 系统(在您的情况下为 Upstart)管理(启动)。 默认情况下,容器不运行初始化系统,这意味着您必须手动启动rsyslog

      # rsyslogd
      

      之后,您会在 /var/log 中找到常用的日志文件。

      注意:init 系统与 Docker 容器不完全兼容。一种常见的做法是使用Supervisord 自动启动多个服务/进程。

      【讨论】:

      • 实际上,在最近发布的 Docker 中,我在许多初始化系统上都没有遇到任何问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 2017-05-23
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多