Tag: 烧瓶

如何在docker上运行gunicorn

当docker启动时,我有两个依赖于彼此的文件。 1是一个烧瓶文件,一个是具有几个function的文件。 当docker启动时,只有函数文件会被执行,但是它会从flask文件中导入烧瓶variables。 例: Flaskfile import flask from flask import Flask, request import json _flask = Flask(__name__) @_flask.route('/', methods = ['POST']) def flask_main(): s = str(request.form['abc']) ind = global_fn_main(param1,param2,param3) return ind def run(fn_main): global global_fn_main global_fn_main = fn_main _flask.run(debug = False, port = 8080, host = '0.0.0.0', threaded = True) 主文件 import flaskfile #a few […]

基于docker的Flask Rest API – 优雅的closures

我如何优雅地closures运行在Docker容器中的应用程序? 我的烧瓶应用程序正在服务一些REST API。 我想阻止对我的应用程序的所有电话,但“之前”退出,所有以前的请求应服务。 你有什么主意吗? 也许最好的select是捕获一个信号,以防NGINX应用程序负载将所有请求拖垮到我的应用程序,并执行一个nginx quit ..但我一般都在想..如果我不会使用NGINX,如果有什么办法的话它为FLASK应用程序。 我的Flask应用程序是这样的: ……. class TaskListAPI(Resource): def get(self): pass def post(self): pass class TaskAPI(Resource): def get(self, id): pass def put(self, id): pass def delete(self, id): pass api.add_resource(TaskListAPI, '/todo/api/v1.0/tasks', endpoint = 'tasks') api.add_resource(TaskAPI, '/todo/api/v1.0/tasks/<int:id>', endpoint = 'task') if __name__ == '__main__': app.run(host='0.0.0.0', debug=True) 基于 : uwsgi -s /tmp/yourapplication.sock –manage-script-name –mount […]

Docker Error 2002 SQLAlchemy

我目前正在与MySQL / SQLAlchemy Flask应用程序。 我试图dockerize它,但它有一些问题连接到其中一个sockets。 我已经看了几乎所有关于这个问题,但我仍然得到这个错误。 “sqlalchemy.exc.OperationalError 🙁 _mysql_exceptions.OperationalError)(2002,”无法通过套接字连接到本地MySQL服务器“/var/run/mysqld/mysqld.sock'(2)” 我目前正在研究Mac和Mac的terminal程序。 我的文件夹树是:MainFolder – > .yml,db(文件夹),www(文件夹) 其中数据库(文件夹)有一个Dockerfile和www(文件夹)有.py,要求和Dockerfile 下面列出的是我的代码为这个应用程序。 泊坞窗,compose.yml version: '3' services: www: build: www/. ports: – 5000:5000 links: – db depends_on: – db db: build: db/. volumes: – ./[database]:/usr/local/mysql environment: MYSQL_ROOT_PASSWORD: [password] Dockerfile(用于www) FROM python:3-onbuild # Place app in container COPY . /opt/www WORKDIR /opt/www RUN […]

我怎样才能打开我的浏览器上的Docker远程运行瓶应用程序?

我正在运行使用Pycharm烧瓶应用程序,我得到以下消息:信息:werkzeug:*运行在http://0.0.0.0:5000/ (按Ctrl + C退出) 我一直在试图从我的本地浏览器访问该网站,它不工作。 首先,我在Pycharm中尝试了以下内容,但无法运行:“运行>编辑configuration> Docker部署>容器>添加端口绑定>容器端口= 5000>主机端口= 5000”。 这是正确的吗? 我应该添加一些东西在主机IP? 我也尝试访问构build,执行> docker中的API URL,但它不工作。 解决这个问题的更简单的方法是什么?

OSError:在Docker中初始化Celery时,权限被拒绝

运行docker撰写时,出现以下错误。 这个问题在我的Mac OS开发环境中完全没有发生(在Ubuntu和debian中尝试部署时发生这个错误),但是这个错误似乎表明Celery没有权限写入celerybeat文件。 我一直在努力试图让这个工作(试图给予芹菜必要的权限),但没有运气。 错误 celery_1 | [2017-06-17 13:08:26,509: INFO/Beat] beat: Starting… celery_1 | [2017-06-17 13:08:26,556: ERROR/Beat] Removing corrupted schedule file 'celerybeat-schedule': DBAccessError(13, 'Permission denied') celery_1 | Traceback (most recent call last): celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/beat.py", line 376, in setup_schedule celery_1 | self._store = self._open_schedule() celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/beat.py", line 366, in _open_schedule celery_1 | […]

NGINX处理JSON POST请求传递给Kubernetes上的Python Flask容器

我是新来的负载平衡器的使用,仍然试图围绕如何负载平衡,因为NGINX可以利用JSON POST请求到我的Kubernetes集群python烧瓶容器。 我在我的Kubernetes集群中设置了nginx和python烧瓶容器,并将nginx作为我的负载均衡器,并将两组容器都作为具有Kubernetes集群上的端口#的服务公开。 我给了nginx一个静态IP。 我很困惑,因为我是新来的,当我将JSON body POST请求传递给NGINX静态IP时,如何将它路由到python容器容器(其中包含.py文件,我是尝试通过JSON文本.py文件设置为处理GET,POST请求通过Restful API内的烧瓶代码设置。我有一个请求的URL设置,但不知道如果这应该是NGINX静态IP)。 我是否缺lessNGINX中的configuration图层来将JSON POST正文数据路由到Kubernetes中的python Flask容器? 我应该使用Ingress API控制器吗? 理想情况下,我想用我的JSON POST正文请求来ping负载均衡器,并让我的Flask python容器输出容器中的.py文件的运行。 我期待扩大这些服务的更多请求。 谢谢。

暴露的端口没有实际暴露? – RHEL7运行RHEL7泊坞窗图像

我无法联系在RHEL 7中运行的RHEL 7 docker容器 。 问题来自同一networking中的其他计算机 。 主机可以联系在Docker容器中运行的自己的烧瓶服务器 。 容器是裸露的金属,没有firewalld或iptables 。 我有docker-compose连接一个mysql:latest镜像和运行python烧瓶的裸机rhel7 。 我有一台运行在同一个RHEL 7主机上的mysql服务器,而且我可以很好地从同一个networking中的另一台计算机上得到它。 我没有关于如何构build特定rhel图像的信息,并且它是封闭的源代码,所以我必须解决这个问题,但是, mysql图像来自registry.access.redhat.com 。 一些输出 一些私人信息被replace??? docker信息 $ docker info Containers: 22 Running: 2 Paused: 0 Stopped: 20 Images: 67 Server Version: 1.12.6 Storage Driver: devicemapper Pool Name: docker-253:1-117440691-pool Pool Blocksize: 65.54 kB Base Device Size: 10.74 GB Backing Filesystem: xfs […]

使用Docker:如何扭曲Web应用程序与nginx Web服务器进行通信

我是使用Docker的新手。 我想用微服务架构方法重build我的单一应用程序。 我有一个需要与nginx服务器交互的Flask应用程序服务器。 传统上我们使用Gunicorn作为uWSGI,但是我们怎么能用Docker做同样的事? 以下是我的代码, 我有一个Flask应用程序,要求用户上传一个Excel文件 from flask import Flask, request, render_template import os app = Flask(__name__) default_key = '1' app.config["UPLOAD_FOLDER"] = "/app" @app.route('/', methods=['GET', 'POST']) def mainpage(): if request.method == 'POST': print request.form if request.method == 'POST' and request.form['submit'] == 'Check Results' : #TODO: copy the file into named volume f = request.files['file'] filename […]

Docker – 在代理上运行Flask Web应用程序

我有一个小型的Web应用程序运行在烧瓶服务器上,通常可以在本地主机上运行,​​通过运行app.py。 我想在Docker容器中运行它,所以我不能使用本地主机。 另一种方法是使用0.0.0.0 ,通常工作正常,但是当我在我的工作代理上时,这是行不通的。 我怎么能通过这个问题? app.py from flask import Flask, render_template app = Flask(__name__) @app.route("/") def main(): return render_template('index.html') if __name__ == "__main__": app.run(host='0.0.0.0') Dockerfile FROM python:2.7.13 ADD . /code WORKDIR /code RUN pip install Flask –proxy=[proxy] CMD ["python", "app.py"]

将瓶子应用程序连接到在docker容器中运行的postgresql服务

我有一个使用PostgreSQL作为后端数据库的Flask应用程序。 我已经安装了Postgresql作为dockerized服务(使用docker-compose)。 我现在在我的机器上成功运行postgresql。 我input了所有相关的详细信息以连接到数据库(用户,pwd,dbname,服务器地址,服务器端口),但无法连接。 当我尝试连接到数据库时,在Flask(来自psycopg2)中抛出一个exception: conn = _connect(dsn, connection_factory=connection_factory, **kwasync) OperationalError: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 当我检查postgresql是否正在运行时,我收到以下消息: $ service postgresql status ● postgresql.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead) 在阅读了关于Docker和PostgreSQL的更多信息后,我开始理解为什么我不能连接 – 因为postgresql运行在自己的容器中 […]