Dockerized 应用抛出读取操作超时错误并退出

Dockerized app throws read operation timed out error and exits

我有一个 express 应用程序,它从 IronMQ 推送队列获取数据。 我有 Dockerized 这个应用程序和 运行 在 Docker 容器中的应用程序,在空闲时间(比如 20-30 分钟)后,应用程序抛出错误并退出:

Error: read tcp 192.168.59.3:50346->192.168.59.103:2376: read: operation timed out

我的boot2docker ip --> 192.168.59.103

我已经在 3000 转发了端口。

我试过使用进程对象来捕获未捕获的异常,但没有帮助。

注意: 我在本地 docker 之外安装了 运行 应用程序,应用程序运行正常,没有抛出错误并注销.所以问题似乎与 docker.

事实证明,当您在附加模式下执行 docker 运行 命令时,即使用 -a 参数或不带 -d 参数,类似于:

docker run -a <imageID> docker run <imageID>

Docker 默认情况下会在一段时间后与容器分离,并且 运行 容器处于分离模式。这意味着您的应用程序 运行 在后台运行良好。

因此出现错误:超时

注意: docker 文档中未明确提及,因此认为可以在此处记录以供将来参考。