Tag: 枪炮

当查询dockerized gunicorn时,由对端重置连接

我有一个坐在炮弹后面的wsgi应用程序。 我可以在本地virtualenv中运行该应用程序: gunicorn –paste production.ini -b 127.0.0.1:6543 然后: curl http://127.0.0.1:6543/healthz => alive 那么我使用docker-compose来运行它: CMD gunicorn –paste production.ini -b 127.0.0.1:6543 我公开端口6543:6543 现在同样的curl给了我: curl: (56) Recv failure: Connection reset by peer 也: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a3c3a423c3a3 wxt/bi_session_api "/bin/sh -c 'gunic…" 14 minutes ago Up 3 minutes 0.0.0.0:6543->6543/tcp blah 发生什么了?

关键工人超时错误在gunicorn django

我试图tar2 word2vec模型,并保存它,然后创build一些基于该模式的群集,它本地运行良好,但是当我创builddocker的形象和运行gunicorn,它总是给我超时错误,我试着在这里描述的解决scheme,但它没有为我锻炼 我在用 python 3.5 gunicorn 19.7.1 gevent 1.2.2 eventlet 0.21.0 这里是我的gunicorn.conf文件 #!/bin/bash # Start Gunicorn processes echo Starting Gunicorn. exec gunicorn ReviewsAI.wsgi:application \ –bind 0.0.0.0:8000 \ –worker-class eventlet –workers 1 –timeout 300000 –graceful-timeout 300000 –keep-alive 300000 我也尝试了gevent,sync工人类gevent,sync也gevent,sync但它没有工作。 任何人都可以告诉我为什么这个超时错误继续发生。 谢谢 这是我的日志 Starting Gunicorn. [2017-11-10 06:03:45 +0000] [1] [INFO] Starting gunicorn 19.7.1 [2017-11-10 06:03:45 +0000] [1] […]

Docker容器停止响应networking调用

我有我的Django应用程序运行在docker容器内使用gunicorn。 随机,容器停止响应networking调用。 容器正在运行。 我也检查了统计信息的CPU或内存使用情况,他们似乎没有问题。 我的docker版本: Client: Version: 1.13.0 API version: 1.25 Go version: go1.7.3 Git commit: 49bf474 Built: Tue Jan 17 09:50:17 2017 OS/Arch: linux/amd64 Server: Version: 1.13.0 API version: 1.25 (minimum version 1.12) Go version: go1.7.3 Git commit: 49bf474 Built: Tue Jan 17 09:50:17 2017 OS/Arch: linux/amd64 Experimental: false curl指令响应: * Hostname was NOT […]

Docker:没有公开服务

无法pipe理多次之前做的简单任务(前几天我更新了Docker,如果它很重要,并且docker-compose有很多错误甚至不能提供版本) :在本地运行一个容器并访问暴露的path。 很简单,但我有一个Error 61. Connection refused 我做的事: docker build container_name . – 在一个Dockerfile中,我暴露了80和5000 docker run -d -p 80:5000 container_name 切断我的docker-machine dev ip端口80上的docker-machine dev ip地址 – 连接被拒绝。 在容器内部,我有一个端口5000运行gunicorn。它工作正常。 当我login到容器时,我可以很容易地curl localhost:5000 。 并从localhost:5000工作服务器有一个很好的回应。 所以我只需要将主机上的端口80映射到容器内部的5000端口,这就是cmd -p 80:5000应该做的事情,对吧? 但它不起作用。 我做错了什么? docker version : Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 […]

Gunicorn ImportError:没有名为应用程序的模块

您好我正在按照这个教程https://semaphoreci.com/community/tutorials/dockerizing-a-python-django-web-application关于如何部署docker的Django项目,在某些时候,你必须开始使用gunicorn我的start.sh就是这样。 #!/bin/bash #start gunicorn processes echo "starting gunicorn for wrappers" exec gunicorn sparqlwrapper.wsgi.application –bind 0.0.0.0:8000 –workers 5 但是当我运行start.sh我得到这个错误 starting gunicorn for wrappers [2017-09-28 12:47:05 +0000] [28740] [INFO] Starting gunicorn 19.7.1 [2017-09-28 12:47:05 +0000] [28740] [INFO] Listening at: http://0.0.0.0:8000 (28740) [2017-09-28 12:47:05 +0000] [28740] [INFO] Using worker: sync [2017-09-28 12:47:05 +0000] [28745] [INFO] Booting worker with […]

gunicorn为什么会挂在这个configuration?

我正在使用Docker构build一个多容器应用程序。 一切正常与Django(1.7)开发服务器。 但是当我尝试运行gunicorn时, gunicorn wsgi:application的命令似乎开始,然后提供没有输出,并保持terminal的控制,直到我按Ctrl – C。 这令人遗憾地意味着我没有什么有用的debugging信息。 我的API的Dockerfile是这样的: FROM ubuntu:14.04 MAINTAINER Garry Cairns ENV REFRESHED_AT 2015-01-13 # update packages and prepare to build software RUN ["apt-get", "update"] RUN ["apt-get", "-y", "install", "build-essential", "vim", "git", "curl"] RUN ["locale-gen", "en_GB.UTF-8"] # install latest python RUN ["apt-get", "-y", "build-dep", "python3-dev", "python3-imaging"] RUN ["apt-get", "-y", "install", "python3-dev", "python3-imaging", […]

无法从Django连接到docker,但可以直接连接到shell

我有一个Python / Django的应用程序,允许用户pipe理docker实例(有一些抽象)。 我可以从bash和Django shell中控制Docker容器,但是当我尝试从我的Django视图运行相同的代码时,这些视图通过Gunicorn作为用户运行bash和Django shell,但是Gunicorn给出了以下输出: ERROR while fetching server API version: ('Connection aborted.', error(13, 'Permission denied')) Gunicorn运行的用户是“docker”组的成员,并且我已经重新启动服务器以确保权限应该受到影响。 我不知道还有什么要检查或做的。

在使用Docker容器设置开发环境时,如何pipe理开发任务?

我一直在研究docker,并了解到目前为止所读到的几乎所有东西。 我已经build立了几个图像,链接在一起的容器,装卷,甚至有一个示例django应用程序运行。 我无法想象的一件事是build立一个开发环境。 docker工人的重点是能够把你的环境带到任何地方,这样你所做的一切都是可移植的,一致的。 如果我正在运行由gunicorn服务的生产中的django应用程序,则需要重新启动服务器以使代码更改生效; 当您在本地笔记本电脑环境中处理项目时,这并不理想。 如果我对模型或视图进行了更改,我不想将其附加到容器上,请停止gunicorn,然后每次更改代码时重新启动它。 我也不知道我将如何运行pipe理命令。 python manage.py syncdb将需要我进入容器内部并运行命令。 我也使用南来pipe理数据和模式迁移python manage.py migrate 。 其他人如何处理这个问题? debugging是另一个问题。 我必须以某种方式让我所有的日志保存在某个地方,这样我才能看到这些东西吗? 我通常只看django开发服务器的输出来查看错误和打印。 看来,我将不得不做一个特殊的开发环境容器,有一堆解决方法; 这似乎是它首先完全打败了工具的目的。 有什么build议么? 做更多的研究后更新: 感谢您的回应。 他们让我走在正确的道路上。 我结束了发现无花果http://www.fig.sh/它让你编排连接和安装卷,你可以运行命令。 无法运行容器名python manage.py syncdb。 这似乎很不错,我已经能够使用它设置我的开发环境。 做了一个关于如何使用vagrant https://www.vagrantup.com/来设置它的图表。 我只是跑步 fig up 在与我的fig.yml文件相同的目录中,并且完成链接容器和启动服务器所需的一切。 我只是在我的Mac上运行开发服务器,以便它在我更改Python代码时重新启动。

在负载均衡dockerized Flask应用程序中有多less个gunicorn worker?

我用gunicorn为我的烧瓶应用程序。 到目前为止,我一直遵循这个指导原则,每台机器上的gunicorn worker的数量是(2 x $ num_cores)+1(他们坐在负载均衡器后面)。 我正在dockerising应用程序的过程中,我的问题是:我应该为每个容器运行一个gunicorn worker(再次,dockerised是负载均衡)? 或者每个docker集装箱运行多个gunicorn工人有什么意义?