ssh 启动 docker 中 app, docker logs 无日志

ssh 启动 app, 标准输出被重定向 ssh 客户端,而不是 docker 容器的标准输出。只需要在启动时把app 标准输出重定向到 docker标准输出。

测试如下:

1.启动 docker

docker run -it -p 60022:22 --name test test:v4 bash -c "service ssh restart; while true; do sleep 100; done"

2.docker 中 /opt/start.sh 如下

#!/bin/bash
/usr/local/openjdk-8/jre/bin/java -jar /opt/coffee-web.jar >&/proc/1/fd/1 2>&1 &

3.ssh 命令

timeout 61 sshpass 123456 ssh  xx@xx.xx.xx.xx -p 60022 -o StrictHostKeyChecking=no  'bash /opt/start.sh'