Tag: 烧瓶

Flask,Gunicorn,NGINX,Docker:configurationSERVER_NAME和proxy_pass的方法是什么?

我使用Flask , gunicorn , NGINX和Docker来设置docker项目,如果我没有在Flask的setting.py文件中添加SERVER_NAME ,这个工作正常。 目前的configuration是: gunicorn gunicorn -b 0.0.0.0:5000 泊坞窗,compose.yml services: application: #restart: always build: . expose: – "5000" ports: – "5000:5000" volumes: – .:/code links: – db nginx: restart: always build: ./nginx links: – application expose: – 8080 ports: – "8880:8080" NGINX .conf server { listen 8080; server_name application; charset utf-8; location […]

Flask Nginx Guincorn / uwsgi dockerconfiguration

我想在digitalocean上设置一个Flask webiste,其中一些链接可以启动一些由tornando / twisted或其他Flask网站支持的游戏。 网站架构如下图所示: 我见过的大多数教程都是以示例1 , 示例2 , 示例3和一些stackoverflow的答案以某种方式处理这个问题。 我与他们的问题是: (a)例1虽然可笑容易,但是不透明。 这并不能帮助我正确理解ngnix,gunicorn以使我能够设置我的应用程序,如上图所示。 (b)例2,是我正在尝试使用,但是当我去我的网站的url,它默认为nginx的网页。 我会发布链接到完整的问题。 链接 (c)示例3,不使用Docker。 我的问题是这样的: (a)我的build议架构甚至可以与Docker,Flask,Nginx和uwsgi / gunicorn结合使用吗? 有没有更好的办法? (b)我应该甚至使用Docker吗? 我想用Docker学习如何使用docker-compose,最后是Docker Swarm,但是如果太麻烦了,我愿意完全放弃这个想法。 感谢您的回应。

为什么Docker容器的图片变得如此庞大,同时在UBUNTU 16.04上倚靠python3.6,Virtualenv,Flask,Gunicorn

在virtualenv python3 -m venv FLSK-ENV中部署烧瓶应用程序 Dockerfile: FROM appcontainers/ubuntu:xenial MAINTAINER user <user> RUN apt-get install -y software-properties-common \ && add-apt-repository ppa:jonathonf/python-3.6 -y \ && apt-get update -y \ && apt-get install -y python3.6-minimal python3.6-venv \ && apt-get install -y git \ && apt-get install python-pip -y \ && pip install –upgrade pip \ && pip install […]

从Docker容器暴露WSGI应用程序

我有一台运行在Google Compute Engine上的VM托pipeApache / WSGI提供的Flask应用程序。 这个应用程序必须通过互联网www.my_application.com 。 在Docker容器中通过WSGI公开应用程序的最佳方式是什么? 是否有一个特定的docker run命令使用? 是否需要修改my_application.conf ? 还有什么要知道/要做的? 下面是my_application.conf : <VirtualHost *:80> ServerName www.my_application.com WSGIDaemonProcess my_application user=www-data group=www-data threads=5 WSGIScriptAlias / /var/www/my_application/application.wsgi ErrorLog /var/log/my_application.log <Directory /var/www/my_application> WSGIProcessGroup my_application WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> </VirtualHost>

Python Web应用程序项目结构和Docker支持

描述 比如,我有一个下面的烧瓶项目结构: ├ project_root/ ├── .gitignore ├── README.md ├── docs ├── requirements.txt ├── yourapp │ ├── templates/ │ ├── static/ │ ├── migrations/ │ ├── config.py │ ├── app1/ │ │ ├── __init__.py │ │ ├── controllers.py │ │ ├── forms.py │ │ └── models.py │ ├── app2/ │ │ └── … │ └── app.py […]

如何迁移主机之间的Docker卷?

Docker的文档指出卷可以被“迁移” – 我假设这意味着我应该能够将卷从一个主机移动到另一个主机。 (非常乐意在这一点上予以纠正。)但是,相同的文档页面不提供如何执行此操作的信息。 所以,我发现了一个较老的问题(大约是2015年),说这是不可能的,但考虑到这个问题还有两年的时间,我想我会再问一次。 如果有帮助,我正在开发一个使用[TinyDB] +本地磁盘作为数据存储的Flask应用程序 – 我已经确定,我不需要任何更多的花式; 这是一个目前为了学习而完成的项目,所以我决定变得非常轻便。 该项目的结构如下: /project_directory |- /app |- __init__.py |- … |- run.py # assumes `data/databases/ and data/files/` are present |- Dockerfile |- data/ |- databases/ |- db1.json |- db2.json |- files/ |- file1.pdf |- file2.pdf 我有我的.dockerignore和.gitignore文件夹data/* ,以便它们不被放置在版本控制下,并在构build图像时被Docker忽略。 在开发应用程序时,我也尝试使用尽可能接近真实世界的数据库条目和PDF,因此我在应用程序中embedded了一小部分真实数据,这些数据存储在已安装的卷上直接到data/当Docker容器被实例化时。 我想要做的是将容器部署在远程主机上,但是远程主机需要使用启动器数据(理想情况下,这是本地使用的卷,为了最大限度的方便)。 稍后在远程主机上添加更多的数据时,我希望能够将其撤回,以便在开发过程中使用最终用户input的最新数据。 环顾四周,我想要做的“hacky”的方式是简单地使用rsync ,这可能会工作得很好。 但是,如果有一个解决scheme我错过了,我将不胜感激指导!

泊坞窗。 如何运行一个烧录服务器的主文件,在较深的文件结构中启动服务器

我的烧瓶应用程序,在端口5000上启动烧瓶服务器的主要文件在里面: Server /main/core/setup.py Docker给了我这个错误,我知道,因为它找不到setup.py : ERROR: for flask_api Cannot start service flask_api: oci runtime error: container_linux.go:265: starting container process caused "exec: \"/main/api/core\": stat /main/api/core: no such file or directory" 我的错误是在Dockerfile中: 我将setup.py默认path从Server/setup.py更改为Server/app/main/core/setup.py 问题如何在这个path上启动服务器 Dockerfile: 这是我移动端口5000上启动服务器的setup.py文件之前 # FROM python:3.6-alpine # ADD ./Server /app # WORKDIR /app # RUN pip install -r requirements.txt # EXPOSE 5000 # CMD […]

nginx错误403 – 目录索引被禁止

我正在尝试将docker nginx与docker flask连接起来。 这是我的项目的结构: . ├── storage │ ├── nginx │ │ └── static │ │ └── image.gif └── web └── flask ├── app │ ├── run.py │ └── templates │ └── index.html ├── conf │ ├── nginx-default.conf │ ├── nginx-flask.conf │ └── requirements.txt └── Dockerfile 虽然curl 127.0.0.1:50和curl 127.0.0.1:80/static/image.gif工作正常,当我curl 127.0.0.1时,我得到一个'403禁止'错误。 更具体地说, nginx给出了以下错误: 2016/03/05 17:54:37 [error] […]

使用Docker实例制作Web服务器 – 什么地方在哪里?

我刚才遇到了Docker,并且一直在做一些研究,但是有一点对我来说还是有点不清楚。 在Docker创build者观看的video中,他将这个工具比作一个集装箱,这样你就可以保证你的堆栈在里面工作正常。 但是我看到很多的容器图像,只是一个单一的部分,即nginx图像或uwsgi图像。 基本上我想运行一个使用python,flask,nginx和uwsgi的web服务器。 它们都是堆栈的一部分,所以它们应该放在一个容器中,还是应该放在自己的容器中? 我也会有一个MySQL服务器,而且这似乎更合乎逻辑地运行在自己的容器中。 如果这是一个意见的问题,表示歉意,但对我来说,感觉就像只有一个正确的方式去做这件事。

Docker在Amazon云上

我有一个Amazon Cloud EC2实例运行Dockerized flask应用程序。 我可以通过ssh连接到实例,但是当部署并尝试通过我的浏览器连接到公共DNS时,我无法访问已部署的flask应用程序。 网页总是会超时。 我如何查看正在运行的应用程序? 提前谢谢你!