我在用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 logs返回容器mybash的日志。
在第二个函数local隧道中,命令docker logs不返回任何内容。调用local隧道函数之后,如果我从脚本之外的请求容器日志,它将正确地显示这些日志。
这一切为什么要发生?
发布于 2021-12-15 16:35:43
过程需要时间来作出反应。它们可能在启动进程之后就没有日志了--它还没有写任何东西。稍等一下。
https://stackoverflow.com/questions/70365715
复制相似问题