我正在 bash 脚本中试验 Docker 的奇怪行为。 让我们看看这两个例子:
logs-are-showed() {
docker rm -f mybash &>/dev/null
docker run -it --rm -d --name mybash bash -c "echo hello; tail -f /dev/null"
docker logs mybash
}
# usage:
# $ localtunnel 8080
localtunnel() {
docker rm -f localtunnel &>/dev/null
docker run -it -d --network host --name localtunnel efrecon/localtunnel --port $1
docker logs localtunnel
}
在第一个函数logs-are-showed中,命令docker log
返回容器mybash的日志嗯>
在第二个函数localtunnel中,命令docker log
不会返回任何内容。
调用 localtunnel 函数后,如果我从脚本外部请求容器日志,它会正确显示日志。
为什么会发生这种情况?
最佳答案
进程需要时间来 react 。它们可能在启动进程后没有日志 - 它尚未写入任何内容。。稍等一下。
关于linux - bash 脚本中的 docker 日志不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70365715/