При использовании
CMD ["/usr/sbin/sshd", "-D"]
в файле Dockerfile, docker logs
не показывает ведение журнала:
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 - CentOS:
cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)
Серверная часть ведения журнала Docker - это journald:
grep ^OPTIONS /etc/sysconfig/dockerOPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
Я также попытался использовать json в качестве серверной части ведения журнала, но безуспешно.
Как мне правильно "переслать" ведение журнала?
Как предложил @marioavs, '-e' необходим. Я пробовал "-e" и "-D", но не оба одновременно. Так:
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