我使用Dokku在DigitalOcean上部署的Rails应用程序崩溃并开始返回500个错误.
如何在不推送空提交的情况下重新启动它?
我在我的数字海洋液滴上安装了Dokku,但在设置我的dns记录之前就这样做了,所以Dokku安装在IP上.现在我改变了我的dns记录,因此可以访问网站site.com
.我可以访问我之前创建的Dokku容器site.com:port
,如何更改Dokku设置以访问我的应用程序,如下所示 -appname.site.com
我们有一个node.js Web服务器,它向外部API发出一些传出的http请求.它使用dokku在docker中运行.
经过一段时间的加载(30req/s)后,这些传出请求不再得到响应.
这是我用常量req/s测试时的图表:
incoming
并且outgoing
是并发请求的数量(不是初始化请求的数量).(在图表中很难看到,但每次约10次请求时它相当稳定.)
response time
仅适用于外部请求.你可以清楚地看到他们突然失败了(达到1000毫秒超时).
我们发送的req/s越多,我们遇到这个问题的速度就越快,所以我们必须有一些限制,我们越来越接近每个请求.
我netstat -ant | tail -n +3 | wc -l
在主机上用来获取开放连接的数量,但它只有~450(大多数TIME_WAIT
).这不应该达到套接字限制.我们也没有达到任何RAM或CPU限制.
我也尝试在docker之外的同一台机器上运行相同的应用程序,它只发生在docker中.
所以我刚开始使用dokku(和postegres一起).我的应用程序适用于Heroku,所以我很确定这是一个部署问题.该应用程序似乎正在运行但是在登录时遇到了问题.我做了dokku日志my_app_name但是日志似乎已经过时了.在heroku上有问题时会有相应的日志,但在这里我找不到.
任何想法都表示赞赏!谢谢!
我正在使用dokku部署节点应用程序(带快递js).我的应用程序包含2个快速js应用程序,可以收听两个不同的端口.一个是主应用程序,另一个是kue的 Web接口- 节点js的简单作业队列.当我部署应用程序时,我需要运行这两个应用程序并访问端口80上的主应用程序和其他端口上的kue(最好是快速应用程序监听的端口).
我已将这两个应用程序放在Procfile上,如:
web: server=thats-wow NODE_ENV=production node server/app.js
worker: node server/kueUi.js
Run Code Online (Sandbox Code Playgroud)
proc文件的多个进程由dokku-supervisord插件处理:https://github.com/statianzo/dokku-supervisord(它支持所有进程类型:web,worker等).
我已经为第二个应用程序的流程类型尝试了'web'和'worker'.
问题
在部署时,Dokku只是通过端口80访问procfile中指定的最后一个应用程序(在本例中为kueUi),并且似乎无法访问首先指定的应用程序.我尝试通过端口访问第一个应用程序监听,但这不起作用.
我想它需要一些nginx配置来将某个端口上的请求转发到应用程序监听的docker容器中的该端口.
我是多么需要它
1. http://example.com - reaches my main app
2. http://example.com:5000 - reaches the second app (Kue UI)
Run Code Online (Sandbox Code Playgroud)
找不到任何关于如何实现这一目标的文档.任何帮助深表感谢!
请原谅我的开发者天真但我认为你需要部署到一台机器上的是一个正确的SSH密钥,一个暴露的端口,一个登录的机器的IP地址和要部署的代码.
那么有没有简单的解决方案将代码部署到远程服务器,唯一的输入是SSH密钥,Dockerfile和代码本身?我认为它可以以确定性(几乎功能性)的方式设置,其中输入是服务器IP地址,登录,并且输出是正在运行的服务器.
我已经尝试在数字海洋上设置Dokku(https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-dokku-application)并且需要DNS记录和git.我不需要那些作为依赖.
谢谢
我在服务器上安装了 Dokku,并部署了多个站点/域。当我的一个站点出现故障时,对它的所有 HTTP 请求都会(出于某种原因)重定向到另一个站点。这令人困惑。在这种情况下,我希望 Dokku 显示一些错误页面。这是默认行为还是我做错了什么?
附注。这是问题:https : //github.com/dokku/dokku/issues/2602
我正在学习dokku,用于简单的Web部署.官方安装说明声明此命令:
wget -qO- https://raw.github.com/progrium/dokku/v0.3.12/bootstrap.sh | sudo DOKKU_TAG=v0.3.12 bash
Run Code Online (Sandbox Code Playgroud)
我不是一个devop或管理员,但据我了解这一行,它执行root
帐户下的所有引导和安装,多亏了sudo
.因此,dokku将被签出到具有root
访问权限的目录中,并且所有其他目录也/var/lib/dokku/
将具有root
访问权限.
问题是 - 互联网上关于dokku的所有文章指示执行dokku
命令或执行与dokku相关的操作sudo
.例如,有关此dokku
数据库插件的说明https://github.com/krisrang/dokku-mariadb指示通过以下方式安装它:
cd /var/lib/dokku/plugins
git clone https://github.com/krisrang/dokku-mariadb mariadb
dokku plugins-install
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为/var/lib/dokku/plugins
具有root
访问权限并且git clone
将失败acces denied
.现在很难成为非管理员,但也许有人会暗示我做错了什么?我是否需要以其他方式安装dokku,或者所有与互联网相关的dokku相关教程都假设我正在执行它们root
(这是由于我有限的管理知识,出于安全原因而不建议使用).
我托管我的Web应用程序是使用Dokku的Docker容器。
有时(也许每1-2天)docker容器会消失(不显示when docker ps
),结果我的服务器宕机了。
我还没有找到原因。
我正在寻找一种调试方法,有什么想法吗?