Usar
CMD ["/usr/sbin/sshd", "-D"]
em um Dockerfile, docker logs
não mostra o 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>
Docker host é CentOS:
cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)
O back-end do registro do Docker é journald:
grep ^OPTIONS /etc/sysconfig/dockerOPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
Também tentei usar json como back-end de log, sem sucesso.
Como faço para' encaminhar ' o registro corretamente?
Como sugerido por @ marioavs, '- e ' é necessário. Eu tentei '- e ' E '- D', mas não ambos ao mesmo tempo. Entao:
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