Tag: 烧瓶

configurationDokku(Procfile)使用特定的Docker镜像

我正在开发自动部署系统。 我有一个特定的图像标记base_image安装所有必要的要求。 每个应用程序都在Python Flask上。 我尝试添加Dockerfile到我的应用程序根,然后推送到dokku与以下内容: FROM base_image 部署失败,没有错误信息 – 我想我已经覆盖默认的Python / Flaskconfiguration。 如何使用Dokku Procfile指定图像? 或者我应该修复Dockerfile ? PS – 我的Docker base_image很好 – 我从shell手动检查所有必要的要求都安装在那里。 我需要这个图像,因为我不想每次安装相同的东西 – 我只是想链接它们并为每个应用程序创build自己的环境(图像)

Supervisord运行瓶应用程序调用docker应用程序

我有一个应用程序,使用subprocess进程调用我的dockerized应用程序。 @app.route('/detect', methods=['POST']) def detect_file(): file = request.files['wireframe'] if file and allowed_file(file.filename): filename = str(uuid.uuid4()) + getFileExtension(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) p = subprocess.Popen(["docker","run","-v","/home/ganaraj/contours/upload:/detect","-w", "/detect","-it","–rm","opecv3", "./prediction", filename ], stdout=subprocess.PIPE) output, err = p.communicate() return jsonify(result=output.rstrip()) return jsonify(error='Mismatch file type') 当我运行它自己的python app.py烧瓶应用程序,它工作得很好。 我从dockerized应用程序得到一个结果。 当我运行使用gunicorn gunicorn wsgi.py的烧瓶应用程序,它也能正常工作。 当我通过gunicorn运行烧瓶应用程序,并使用主pipe保持发展 – 应用程序启动 – API的工作通常除了DOCKERIZED部分。 我猜这与某种types的权限有关,但我无法弄清楚我需要做什么来解决这个问题。 这里是我的supervisord.conf供参考。 [program:cvupload] command = /root/anaconda/envs/cvuload/bin/gunicorn -b […]

如何使用Docker for OSX Beta在PyCharm中debuggingFlask应用程序?

我以前能够用Docker Machine在PyCharm 16.1中debugging我的Flask应用程序。 我可以构buildDocker容器,然后将其指定为远程Python解释器。 我最近升级了Docker,使用OSX的Beta版本,可以在本地运行,不再需要docker-machine虚拟机。 在阅读完这里的相关问题之后: Docker Beta for Mac的证书文件夹在哪里我在尝试和debugging时仍然遇到问题。 我有PyCharm和PyCharm版本162.1237.1的2.3.2 Docker插件。 现在通知您运行该命令 socat TCP-LISTEN:2376,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock 当您尝试inputunix:///var/run/docker.sock作为Docker API URL时。 在完成这个操作之后(并将URL指向tcp:// localhost:2376),服务器将连接到Docker Beta系统,并允许您select一个可用的容器映像作为远程解释器。 但是,当您尝试和debugging应用程序时,它会卡住“等待连接”,同时连接到debugging器。 在这种情况下,PyCharm确实启动Docker容器,如果我执行到容器中,我可以运行ps aux并查看: python -u /opt/.pycharm_helpers/pydev/pydevd.py –multiproc –qt-support –client 10.0.2.2 –port 61276 –file /opt/project/app.py. 文件/opt/project/app.py在容器中,我可以通过运行python /opt/project/app.py成功启动烧瓶应用程序。 例如,如何让PyCharm成功运行此文件并连接debugging器,以便可以逐步执行IDE中的代码。

Docker重新加载并不反映CSS文件中的更改

我已经configurationdocker重新加载自动时,我对我的项目文件进行更改。 当我在HTML或.py文件中进行更改时,它工作正常,但不反映对CSS文件的任何更改。 这个问题在这里也被问到,但是还没有答案。 请帮忙! 我用gunicorn使用Flask python。 正是遵循这个课程的udemy。

无法访问docker容器内的瓶子应用程序

我不能请求我的烧瓶应用程序在docker集装箱内。 它不响应。 有我的烧瓶应用程序文件: import json from flask import Flask, jsonify from flask import request from trained_model import predict app = Flask(__name__) @app.route("/", methods=['POST']) def main(): res = [] for obj in request.json: item = str(obj['item']) print item predicted = predict(item) print predicted res.append({'item': item, 'correct': predicted}) return json.dumps({'results': res}) if __name__ == "__main__": app.run(host='0.0.0.0') 有我的dockerfile: […]

无法使用uwsgi和Docker查看我的简单烧瓶应用程序

我是Docker的新手,尝试在Mac上使用uwsgi和Docker运行一个简单的Flask应用程序。 但是,我无法在我提供的IP和端口上查看它。 我有以下代码结构和它的内容: app – app.py – Dockerfile – requirements.txt – docker-compose.yml – uwsgi.ini app.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == "__main__": app.run(host='0.0.0.0', debug=True) Dockerfile FROM python:2.7 MAINTAINER Sanjiv Kumar ENV PYTHONUNBUFFERED 1 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ADD requirements.txt /usr/src/app/ RUN pip install […]

不能在docker集装箱中的瓶子应用程序

我一直在试图在Docker容器中创build一个瓶子应用程序。 当通过Flask开发服务器运行时,该应用程序完美运行,包括从networking上的其他机器访问网页。 我一直在试图为应用程序构build一个Docker容器。 问题是我无法访问任何网页。 我得到500个错误。 我的一些设置: run.py #!flask_v1/bin/python3 from app import app app.run(debug=True, host='0.0.0.0') 其中flask_v1是virtualenv目录。 dockerfile FROM python:3.4 COPY . /site workdir /site RUN pip install -r requirements.txt ENV NAME sitename CMD ["python", "./run.py"] 我从这个版本中删除了EXPOSE 5000 ,但是出现同样的问题。 它最初被放置在点子线之下。 requirements.txt click==6.7 CouchDB==1.1 docutils==0.14 Flask==0.12.2 Flask-CouchDB==0.2.1 flask-dynamo==0.1.2 Flask-Login==0.4.0 Flask-WTF==0.14.2 itsdangerous==0.24 Jinja2==2.9.6 jmespath==0.9.3 MarkupSafe==1.0 python-dateutil==2.6.1 PyYAML==3.12 s3transfer==0.1.11 six==1.11.0 […]

应用程序移至docker工生产环境时,Flask-WTF CSRFvalidation失败

我刚刚为我开发的Flask应用程序设置了我的生产环境。 这个堆栈是: Windows Server 2012 R2 Hyper-V VM – Running Ubuntu 14.04 Docker 1.5 – Running Containers: mysql 5.6 nginx 1.6.3 uwsgi 2.0.10 所以基本上我有一个在Ubuntu中设置的静态IP,端口80被转发到nginx容器,在nginx和uwsgi容器之间共享一个套接字文件的数据卷,最后是mysql容器和数据库的uwsgi容器之间的链接通讯。 我一直在我的本地开发环境下面的实现中使用CSRF一段时间没有问题: from flask_wtf import Form class UserForm(Form): … 然后在我的模板中: <form> {{ form.hidden_tag() }} … </form> 但是,当我将应用程序移动到上面指定的环境时,我得到: 错误的请求 CSRF令牌丢失或不正确。 作为回应,当我试图提交表格。 我用pip使用相同的exact.txt文件来设置我的Flask应用程序。 我也已经validation了CSRF令牌确实在页面的HTML中。 任何人有任何线索,为什么发生这种情况? 编辑: 要回答评论中的问题:在我的生产docker容器和我的开发本地virtualenv的Flask-WTF和WTForms的版本是相同的。 这是我的需求文件,从我的开发环境中产生,用于在Docker容器中设置我的应用程序: Flask==0.10.1 Flask-Login==0.2.11 Flask-Mail==0.9.1 Flask-Migrate==1.2.0 Flask-MySQL==1.2 Flask-Principal==0.4.0 […]

通过Docker运行Flask和SQLAlchemy应用程序的问题

我有一个用python,sqlalchemy和flask写的web应用程序。 该应用程序以及静态文件,样式表等都存储在一个名为flask-app的文件夹中,程序将从以下位置运行: python server.py 当我从terminal运行这个,它工作得很好。 但是,当我从docker运行它不起作用。 我的Dockerfile看起来像这样: FROM ubuntu:latest MAINTAINER Rahul Raghhunath "rahulraghu94@gmail.com" RUN apt-get update -y RUN apt-get install -y python-pip python3.5 build-essential COPY . /server WORKDIR /server RUN pip install –upgrade pip RUN pip install flask SQLAlchemy ENTRYPOINT ["python3.5"] CMD ["server.py"] 我正在运行以下内容: docker build -t rahulraghu94/wine-catalog . 它运行成功。 但是当我运行: docker run rahulraghu94/wine-catalog 它说: […]

虚拟主机:使用Docker在网上放置一个Flask网站

我尝试使用Docker在网上放置一个Flask网站。 所以,我创build了一个Dockerfile,一个docker-compose,现在我可以在网上看到我的网站和我的域名。 尽pipe我的虚拟主机,我不能访问我的网站使用子域和没有端口“:5000”。 这个虚拟主机似乎被完全忽略! Dockerfile: FROM python:latest RUN apt-get update && apt-get install -y apache2 \ libapache2-mod-wsgi \ build-essential \ python \ python-dev \ python-pip \ vim \ && apt-get clean \ && apt-get autoremove RUN apt-get install -y wget COPY src /var/www/flask RUN apt-get install -y python-requests RUN pip install flask-user RUN pip install […]