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