Los registros de SSHd en el contenedor de Docker no se muestran con ' registros de docker`

Al usar

CMD ["/usr/sbin/sshd", "-D"]

en un Dockerfile, docker logs no muestra el registro:

cat > Dockerfile.stdout <<EOFFROM alpine:latestRUN    apk add --no-cache openssh-server \    && mkdir /var/run/sshd \    && ssh-keygen -ACMD ["/usr/sbin/sshd", "-D"]EOFdocker build -f Dockerfile.stdout -t sshd-stdout .docker run --name sshd-stdout -d sshd-stdoutdocker logs sshd-stdout<empty>

El host de Docker es CentOS:

cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)

El backend de registro de Docker es journald:

grep ^OPTIONS /etc/sysconfig/dockerOPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'

También intenté usar json como backend de registro, sin éxito.

¿Cómo 'reenvío' el registro correctamente?


Como sugiere @marioavs, '- e ' es necesario. He intentado '- e ' y '- D', pero no ambas al mismo tiempo. Tan:

cat > Dockerfile.stdout <<EOFFROM alpine:latestRUN    apk add --no-cache openssh-server \    && mkdir /var/run/sshd \    && ssh-keygen -ACMD ["/usr/sbin/sshd", "-D", "-e"]EOF

Utilizar -el opción de línea de comandos para reenviar todos los mensajes a error estándar (de documentos sshd):

-el Escriba los registros de depuración en error estándar en lugar del registro del sistema.

Encontré un buen ejemplo en el siguiente archivo Docker:

servidor SSHD simple basado en alpine