Tag: 烧瓶

curl瓶子Web服务里面的Docker容器

我在端口5000上的Docker容器中运行了一个Flask Web服务。如何从容器内部curl此服务? 我可以使用curl http://localhost:5000/<path>从外部(即主机)curl它。

为使用AWS,Flask和Docker的移动应用程序的后端devise寻求build议

我是新手后端开发人员,目前面临为社交移动应用程序创build后端的任务,该应用程序将存储用户和关注者信息以及用户数据(例如封面图片和个人资料照片)等信息。 我一直在使用Flask来路由HTTP请求,并在MySQL中本地处理CRUD操作。 在我尝试在AWS上部署的第一步,我一直在面对后端的整体devise方面的许多难题。 架构层 – 我最近已经接触到三层架构的后端,我不确定他们在当前“无服务器”部署时代的互操作性。 如果我打算使用CORS将用户数据存储在S3存储桶中,那么是否需要像Nginx这样的反向代理和像Gunicorn这样的服务? CORS在安全方面真的很糟糕,如果有的话,我该怎么做才能改进呢? Docker数据卷 – 我想要部署一个Docker容器作为持久数据的主要来源,而不是使用AWS RDS实例,以便按照我的指示保持内部实现。 如何通过这种方法确保可扩展性,并在访问或写入数据库时​​集成负载均衡? AWS的负载均衡服务是否严格要好,我应该打破保持内部信息的原则? 我如何处理迁移和未来的部署? 我借此机会学习尽可能多的后端开发技术,所以任何build议或指导将不胜感激。 非常感谢!

requirements.txt中的依赖关系未安装

我需要部署一个烧瓶应用程序到谷歌应用程序引擎。 我使用docker和线路在Dockerfile中: ADD requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt 在requirements.txt文件中: Flask==0.12 gunicorn==19.6.0 boto==2.46.1 gcs-oauth2-boto-plugin==1.8 ffmpeg-normalize 它应该安装所有的依赖关系。 但不知何故“ffmpeg正常化”没有安装在谷歌应用程序引擎实例。 任何人都可以帮助我吗? 如果还有另一种更好的方式来安装软件包,我也会很乐意去做。 谢谢!!

构build在apt-get更新上的Docker失败

Docker无法使用符号链接错误消息从docker文件构build。 试图改变图像从Python 2.7到Ubuntu:最新,但问题依然存在。 我正在运行Mac的Docker,并坚持在这个问题。 我的dockerfile: FROM python:2.7 RUN apt-get update && apt-get install -y tdsodbc unixodbc-dev && apt-get clean -y ADD odbcinst.ini /etc/odbcinst.ini ADD requirements.txt /tmp/requirements.txt RUN pip install -qr /tmp/requirements.txt ADD . /opt/webapp/ WORKDIR /opt/webapp CMD python server.py Docker构build命令: docker build –no-cache . Docker构build命令输出: Sending build context to Docker daemon 231.2 MB Step 1/8 […]

为什么我的gunicorn Python / Flask工人退出信号术语?

我有一个Python / Flask Web应用程序,我通过Gunicorn在Amazon ECS的Docker镜像中进行部署。 一切正常,然后突然,包括最后一次成功的请求,我看到这在日志中: [2017-03-29 21:49:42 +0000] [14] [DEBUG] GET /heatmap_column/e4c53623-2758-4863-af06-91bd002e0107/ADA [2017-03-29 21:49:43 +0000] [1] [INFO] Handling signal: term [2017-03-29 21:49:43 +0000] [14] [INFO] Worker exiting (pid: 14) [2017-03-29 21:49:43 +0000] [8] [INFO] Worker exiting (pid: 8) [2017-03-29 21:49:43 +0000] [12] [INFO] Worker exiting (pid: 12) [2017-03-29 21:49:43 +0000] [10] [INFO] Worker exiting […]

如何确定瓶颈请求缓慢的原因?

我正在开发一个Docker的Flask Web应用程序,我注意到它每隔几个请求就会挂起。 有时候,请求会完全超时,我会收到来自Docker的消息: [1] [CRITICAL]工作者超时(pid:8)。 我怎样才能找出这些减速的来源? 我已经启用了响应时间跟踪,它告诉我,延迟几乎总是在第一个请求(如下所示)中引起的,但我不确定如何解释它给我的消息: [31 / Mar / 2017:22:36:30 +0000]“GET / HTTP / 1.1”200 56659“ – ”“Mozilla / 5.0(Macintosh; Intel Mac OS X 10_12_3)AppleWebKit / 537.36(KHTML,如Gecko) /56.0.2924.87 Safari / 537.36“在529927μs 谢谢!

从烧瓶传到芹菜工人的自定义字段

背景 为了docker化我的服务,我必须分开瓶子代码和芹菜任务代码。 为了做到这一点,我遵循这个例子 。 问题 我需要从瓶子app向芹菜工作者提供一些信息。 要做到这一点,我可以每次将它作为celery.send_task()中的parameter passing,但这很丑陋。 这些信息将被芹菜工作者处理(用于关联日志)消耗。 题 我怎么能从celery.send_task的celery.send_task中的场景后面传递瓶子app的信息给芹菜工作人员,并在工作进程中使用@ celery.task? 提前致谢。

在localhost上使用SSL运行gunicorn? (与docker)

我正在Docker中本地开发一个应用程序,它要求ssl与API端点一起工作,而且我一直无法使这些参数正常工作: gunicorn -c "python:config.gunicorn" –reload "dataexplorer.app:create_app()" –timeout 3600 –workers=5 –certfile=/ssl/registry.crt –keyfile=/ssl/registry.key –ca-certs=/ssl/ca.cert –ssl-version=3 Docker找不到这些证书。 所以我的问题是:gunicorn在哪里寻找这些certfiles? 他们怎样才能生成?

与我们encryption的Docker上的Flask应用程序

我想在Docker实例中创build一个Flask应用程序,该实例使用Let's Encrypt方法获取SSL Cert,从而启用HTTPS。 证书也需要经常自动更新(3个月,我认为),这已经在我的服务器上完成,但Flask应用程序也需要访问该文件! 我需要修改这个Docker文件来启用我们的encryptionfunction? FROM ubuntu:latest RUN apt-get update -y && apt-get upgrade -y RUN apt-get install -y python-pip python-dev build-essential RUN pip install –upgrade pip COPY . /app WORKDIR /app RUN pip install -r requirements.txt ENTRYPOINT ["python"] CMD ["web/app.py"]

无法从另一个容器到Docker容器中运行Flask API

我很感激关于Flask和Docker的许多问题,还有更多关于如何在Docker容器中运行简单Flask API的博客文章。 然而,我有一些麻烦到达一个容器中运行的Flask API,我从另一个容器中设置了主机( 0.0.0.0 )和端口( 5000 )。 有趣的是,如果我启动托pipeAPI的容器,我可以从本地浏览器访问API。 我想要实现的是首先启动一个托pipePostgres数据库的容器,然后托pipe一个Flask API(它使用Postgres作为后端,最后启动一个容器,运行一些针对数据库和API的unit testing。 这是docker-compose.yml文件: version: "3" services: app: build: context: ../ dockerfile: docker/app.Dockerfile ports: – "5000:5000" depends_on: – db networks: – todo_backend tests: build: context: ../ dockerfile: docker/tests.Dockerfile ports: – "80:8000" depends_on: – db – app networks: – todo_backend db: image: postgres:9.5 restart: on-failure environment: POSTGRES_PASSWORD: […]