美文网首页开发小技巧Docker容器
Docker danriti/nginx-gunicorn-fl

Docker danriti/nginx-gunicorn-fl

作者: MrSong | 来源:发表于2019-05-20 10:40 被阅读0次

现成的镜像,已经配置好nginx-gunicorn-flask,可直接部署flask 项目

安装镜像

  • 如果默认源比较慢,可以换成163镜像源 http://hub-mirror.c.163.com
  • docker pull danriti/nginx-gunicorn-flask

运行镜像,将flask项目映射到容器

  • 映射项目到容器

    • /usr/share/nginx/www/ 这个是nginx默认的目录
    • -P --expose 90 这里指定容易要映射出来的端口为80
    • docker run -it -P --expose 80 --name gunicorn1 -v $PWD/flaskDemo2:/usr/share/nginx/www/flaskDemo2 danriti/nginx-gunicorn-flask
  • 映射日志到本机

    • /var/log/nginx 这个是nginx日志目录,可以映射出来
    • docker run -it -P --expose 80 --name gunicorn2 -v $PWD/flaskDemo2:/usr/share/nginx/www/flaskDemo2 -v $PWD/log:/var/log/nginx danriti/nginx-gunicorn-flask

进入镜像

  • docker exec -it gunicorn1 bash

  • 查看flask项目 cd /usr/share/nginx/www/flaskDemo2

  • 如果一切正常,可以直接运行项目,但是外部不能直接访问

  • 手动运行项目 gunicorn -w 4 wsgi:app 默认访问路径 http://127.0.0.1:8000/

  • wsgi 是文件名,app是入口 app = Flask(__name__)


# -*- coding:utf-8-*-
# wsgi.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "name"
@app.route("/register")
def register():
    return "hello register"
if __name__ == '__main__':
    app.run()

配置nginx

  • 如果要在外部访问,要配置nginx

  • /etc/nginx/sites-available/ 目录下有配置文件 flask.conf

  • 将80端口的访问转发到8000


server {
    listen      80;

    location / {
        proxy_pass http://127.0.0.1:8000/;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

手动运行项目

  • 启动容器后,进入项目目录,手动运行项目就行
  • gunicorn -w 4 wsgi:app

TODO: 有时间研究一下自动启动项目

相关文章

  • Docker danriti/nginx-gunicorn-fl

    现成的镜像,已经配置好nginx-gunicorn-flask,可直接部署flask 项目 安装镜像 如果默认源比...

  • docker学习

    docker镜像 docker容器 docker仓库 安装docker docker版本 docker分为社区版和...

  • Docker安装和运行

    获取Docker 安装Docker 验证安装 1、获取Docker Docker for Mac Docker f...

  • Docker知识手册

    Docker 容器 启动docker:docker start 查看docker运行状态:docker stats...

  • Docker简介

    章节介绍 # Docker是什么# Docker包括什么# Docker镜像# Docker编配# Docker还...

  • Docker 常用操作

    Docker docker: 18.09.4、nvidia-docker: 2.0.3 docker 19.03 ...

  • rancher+harbor离线安装

    安装docker,此docker为社区版docker。docker官方文档:https://docs.docker...

  • Linux之Docker

    Linux之Docker 目录 Docker简单介绍 在线Docker安装 离线Docker安装 Docker简单...

  • Docker常用命令

    Docker常用命令 Docker帮助命令 docker version:查看docker版本 docker in...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

网友评论

    本文标题:Docker danriti/nginx-gunicorn-fl

    本文链接:https://www.haomeiwen.com/subject/qcmhzqtx.html