Wil*_*lem 7 ssh logging stdout docker
使用时
CMD ["/usr/sbin/sshd", "-D"]
Run Code Online (Sandbox Code Playgroud)
在 Dockerfile 中,docker logs不显示日志记录:
cat > Dockerfile.stdout <<EOF
FROM alpine:latest
RUN apk add --no-cache openssh-server \
&& mkdir /var/run/sshd \
&& ssh-keygen -A
CMD ["/usr/sbin/sshd", "-D"]
EOF
docker build -f Dockerfile.stdout -t sshd-stdout .
docker run --name sshd-stdout -d sshd-stdout
docker logs sshd-stdout
<empty>
Run Code Online (Sandbox Code Playgroud)
Docker主机是CentOS:
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Run Code Online (Sandbox Code Playgroud)
Docker 日志记录后端是日志记录:
grep ^OPTIONS /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
Run Code Online (Sandbox Code Playgroud)
我也尝试使用 json 作为日志记录后端,但没有成功。
如何正确“转发”日志记录?
正如@marioavs 所建议的,“-e”是必要的。我尝试过“-e”和“-D”,但不同时尝试。所以:
cat > Dockerfile.stdout <<EOF
FROM alpine:latest
RUN apk add --no-cache openssh-server \
&& mkdir /var/run/sshd \
&& ssh-keygen -A
CMD ["/usr/sbin/sshd", "-D", "-e"]
EOF
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11024 次 |
| 最近记录: |