docker - 使用docker在Heroku上插入

标签 docker heroku minecraft

我正在尝试使用docker在heroku上托管一个spigot minecraft服务器。我知道heroku并不真正支持tcp,所以我使用ngrok(localhost tunneling)来解决这个问题。该图像基于官方的openjdk 8-jre图像,启动spigot和ngrok,然后获取ngrok地址并将其上载到名为ix.io的pastebin服务。当我在本地运行docker镜像时,一切正常,但是当我尝试在heroku上运行时,它说:

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
Stopping process with SIGKILL
State changed from starting to crashed

完整的日志可以在这里找到:https://gist.githubusercontent.com/paperbenni/6c1f4567dbf02cda299230eeb3391fc0/raw/7832444ed358131c9c6c57e330baa62b74cd113e/heroko%2520docker%2520spigot%2520logs

这里发生了什么?是否必须使用nginx之类的某种Web服务才能从Web浏览器访问它才能使该应用程序被视为有效?(我知道拼写错误的句子很长,我知道)我真的不明白这是什么继续在这里。

旁注:日志中存在一些内存错误。当容器限于512mb RAM时,该容器在本地运行良好,因此也许有人可以帮我解决这个问题。

最佳答案

检查您的端口是否正确,并确保您仍有heroku运行时间。那可能是错误。希望我能帮上忙! :)

编辑:当您运行服务器时,它通过“dynos”运行。这些测功机只能具有512mb RAM。如果您的世界使用了更多内存,请考虑使用更小的内存或降低RAM。

较低的RAM:https://www.spigotmc.org/threads/server-optimization-lowering-ram.10999/

它应该在属性xml文件等中。

关于docker - 使用docker在Heroku上插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49738087/

相关文章:

ruby-on-rails - 空 Rails 应用程序中的内存无限增长

java - 坚持为每个 sendMessage 授予权限

java - 插口 | PersistantDataContainer() 表示无法解析

docker - 终止 docker 容器时如何执行脚本

docker - 如何使用traefik将http重定向到https?

ruby-on-rails - Heroku 上禁用的 HTTP 方法

node.js - 我如何理解为什么我的 Heroku 应用程序无法运行?

linux - 在 Ubuntu 16.04 中,如果没有 sudo 用户,则无法运行 Docker 命令

docker - 如何在 Linux 上以非 root 身份在 Docker 中运行 .NET Core 2 应用程序

java - 找出立方体的哪一侧位于屏幕中央?