Tag: 烧瓶

Docker – Permission denied to connect to socket with nginx

我运行docker与2服务:nginx和一个烧瓶应用程序的fcgisockets。 当nginx试图连接到它给以下sockets: [暴击] 7#7:* 1 connect()unix:/usr/src/app/flaskapp-fcgi.sock失败(13:权限被拒绝) docker工人,compose.yml: version: "3" services: app: build: app/ volumes: – app-volume:/usr/src/app http_proxy: build: nginx/ ports: – '80:80' – '443:433' depends_on: – app volumes: – app-volume:/usr/src/app restart: always volumes: app-volume: Dockerfile nginx: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf Dockerfile应用程序: FROM python:3.6.2-onbuild CMD ["python", "app.fcgi"] app.fcgi: #!/usr/bin/env python3 from flup.server.fcgi import WSGIServer #flask […]

Cron的作业在docker集装箱内执行Flask / Python函数?

我想在Docker容器之外使用一个cron作业来在Docker容器中执行一个Python / Flask函数。 有可能吗? 只是做docker exec并不这样做,我相信Flask在允许访问函数方面可能有一些限制。 还是有更好的select? 这里是main.py的示例代码我希望cron作业在docker容器中运行的main.py中执行getThisFunction() from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello World!" @routes.route('/getThisFunction', methods=['GET', 'POST']) def getThisFunction(): return "foobar" if __name__ == '__main__': app.run() 我想要像下面的cron作业(不完全相似): 26 08 * * * docker exec c78ddbed4ad9 {some stuff to execute getThisFunction() in main.py}

烧瓶,uWSGI和线程产生不可重现的结果

我有一个基于flask + uwsgi(运行在docker容器中)的API。 它的input是一个文本,它的输出是一个简单的json,带有关于这个文本的数据(类似{“score”:1})。 我在5个线程中请求这个API。 在我的uwsgi.ini中我有进程= 8和线程= 2.最近我注意到一些结果是不可重复的,虽然API的源代码没有改变,没有任何代码挑起内部的随机答案。 所以我采取了相同的一组查询,并将其提交给我的API,首先是顺序,然后是反向的。 大约1%的答复不同! 当我在本地做同样的事情(没有线程和docker&只在一个线程),结果变得一样。 所以我的假设是烧瓶有时会混淆对不同线索的反应。 有人处理过吗? 我发现只有https://github.com/getsentry/raven-python/issues/923 ,但如果是这样的话,那么问题仍然没有解决,因为我明白… 所以这里是相关的代码片断: uwsgi.ini [uwsgi] socket = :8000 processes = 8 threads = 2 master = true module = web:app 要求 import json from multiprocessing import Pool import requests def fetch_score(query): r = requests.post("http://url/api/score", data = query) score = json.loads(r.text) query["score"] = […]

无法更改nginx.conf文件

我有一个运行CentOS6.7的stream浪盒,我正在运行docker容器。 我打算在容器中运行由nginx提供的容器应用程序。 我必须在nginx.conf文件中做一些更改,以便通过nginx提供我的应用程序(app1)。 这看起来可能有些奇怪,但我不能更改/etc/nginx/conf.d/nginx.conf中的nginx.conf文件 这是我做的: 方法1:更改Dockerfile 我的Dockerfile看起来像这样: FROM tiangolo/uwsgi-nginx-flask:flask COPY ./app /app COPY ./changes/nginx.conf /etc/nginx/conf.d/nginx.conf COPY ./changes/nginx.conf /app/ ./changes/nginx.conf看起来像这样: server { location /app1/ { try_files $uri @app; } location @app { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi.sock; } location /static { alias /app/static; } } 请注意上述服务器块中位置的更改(位置location / location /app1/ 在build立镜像之后,我运行Docker容器,然后执行到正在运行的容器中 sudo docker exec -ti CONTAINER_ID /bin/bash cat […]

Flask默认端口号

在Docker容器中运行Flask应用程序,应用程序的输出可以在http:// localhost:5000中看到。 我如何进行configuration,以便在https://www.ex.com/myapp等生产环境中使用http:// localhost / myapp (OR)?

无法在Docker中构build图像

当试图构build图像,我得到下面的错误。 我也在添加相关的项目文件。 Dockerfile 泊坞窗,compose.yml init .py manage.py 错误: Building users-service Step 1/7 : FROM python:3.6.1 ERROR: Service 'users-service' failed to build: Get https://registry-1.docker.io/v2/: dial tcp 52.206.156.207:443: getsockopt: connection refused 这是我的Dockerfile FROM python:3.6.1 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ADD ./requirements.txt /usr/src/app/requirements.txt RUN pip install -r requirements.txt ADD . /usr/src/app CMD python manage.py runserver -h 0.0.0.0 […]

Ngrok将404错误映射到包含Flask应用程序的泊坞窗容器

我有一个瓶子应用程序在docker集装箱内运行。 该容器是自举的: https://github.com/mikaelm1/flask-api-boilerplate 该应用程序被映射到0.0.0.0:8000以便在容器外部访问,当我通过localhost:8000上的浏览器访问该应用程序时,它的作用就像一个魅力。 但是,当暴露与ngrok ngrok http 8000 ,我得到一个404错误。 有没有人见过这个 ?

是否有可能从正在运行的Docker容器中发送HTTP请求

我有一个基本的分布式系统,可以计算Github所有提交回购的平均回圈复杂度。 它由一个在Flask上运行的主节点组成,这个主节点在发送一个GET请求给主节点时给一组Worker节点提供SHA ID。 我试图用Docker做一些练习,并且想把我的Worker代码放在一个Docker容器中,然后把这个容器放在一组远程机器上,让Master在我的本地机器上运行。 我希望工人和主人能够相互沟通。 我不清楚如何去做这件事。 我已经尝试告诉Worker节点将他们的请求发送到我的本地机器的公有IP和运行Flask服务器的端口(5000)。 我已将远程计算机的端口5000映射到Docker容器的端口5000。 这是关于我在这里知识的程度。 我将在下面附上一些相关的代码片段,而不用粘贴整个程序。 主设置: if __name__ == '__main__': get_commits() TOTAL_COMMITS = len(JOB_QUEUE) app.run(host='0.0.0.0', port=5000, debug=False) print('\n—–Shutting Down Server—–') calc_avg_cc() 工人URLS: master_url = 'http://<my public ip>:5000/' node_setup_url = 'http://<my public ip>:5000/init' – – – – – – – – – – – – – – – – – – […]

如何用gunicorn和bokeh服务configurationNginx

我想提供一个使用我的本地networking上的服务器的embedded式散景服务的应用程序。 为了说明,我使用了散景服务示例和泊坞窗图像来复制服务器。 Docker镜像运行Nginx和Gunicorn。 我认为有一个问题,我的nginxconfiguration路由请求到/ bkapp uri。 我已经详细解决了这个问题,并提供了以下git仓库中的所有源代码 我已经开始关于散景谷歌组的讨论 单容器 为了降低在自己的容器中运行nginx的复杂性,我构build了这个图像,它运行在与web应用程序相同的容器中的nginx 安装 注意:我正在使用Docker版本17.09.0-ce 下载或克隆回购,并导航到这个目录(single_container)。 # as root docker build -f Dockerfile -t single_container . build立 在新容器中启动terminal会话 # as root docker run -ti single_container:latest 在新的容器中启动nginx nginx 现在开始gunicorn gunicorn -w 1 -b :8000 flask_gunicorn_embed:app 开始 在一个单独的terminal(在主机上)find您正在运行的single_container容器的IP地址 #as root docker ps # then do copy CONTAINER ID and inspect […]

Docker图像与uWSGI / Gunicorn + Nginx的Flask应用程序在CentOS

我一直在寻找互联网,find任何与uWSGI或Gunicorn和Nginx合作为CentOS 7环境中的Flask应用程序提供Docker镜像的示例。 我发现最近的是这个 ,它基于Ubuntu。 我如何重新编写Dockerfile来使用C​​entOS 7而不是Ubuntu: FROM ubuntu:14.04 MAINTAINER Phillip Bailey <phillip@bailey.st> ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y \ python-pip python-dev uwsgi-plugin-python \ nginx supervisor COPY nginx/flask.conf /etc/nginx/sites-available/ COPY supervisor/supervisord.conf /etc/supervisor/conf.d/supervisord.conf COPY app /var/www/app RUN mkdir -p /var/log/nginx/app /var/log/uwsgi/app /var/log/supervisor \ && rm /etc/nginx/sites-enabled/default \ && ln -s /etc/nginx/sites-available/flask.conf /etc/nginx/sites-enabled/flask.conf \ […]