zoukankan      html  css  js  c++  java
  • 利用docker部署一个最简单的flask项目

    首先建立一个项目目录test_flask_docker,结构如下

     app.py为flask项目代码,requirements.txt为项目python依赖库,Dockerfile为构建docker镜像文件

    app.py代码如下,注意host设置成0.0.0.0

    #!/user/bin/env python3
    # -*- coding: utf-8 -*-
    # @Email  : alxps1911@163.com
    
    from flask import Flask
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        return '<h1>Hello World!</h1>'
    
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=9876, debug=True)
    

      requirements.txt如下

    Flask==1.1.1

    Dockerfile如下

    FROM python:3.7
    
    WORKDIR /app
    
    ADD . /app
    
    RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    EXPOSE 9876
    
    CMD ["python", "app.py"]

    这里WORKDIR为容器内设置的工作目录,RUN CMD ENTRYPOINT都是在这个目录下进行的

    ADD . /app将Dockerfile所在目录下的所有文件拷贝到容器内的/app目录下(也可用COPY)

    RUN命令执行的为安装项目依赖

    EXPOSE将容器内的端口暴露出去我

    CMD为容器启动时容器内执行的操作(目前还没分清与ENTRYPOINT使用哪个更好)

    上面准备好docker构建的文件后

    开始构建docker image

    首先切换到Dockerfile所在目录

    执行

    (venv) passwordis123@ubuntu:~/PycharmProjects/tests/test_flask/test_flask_docker$ docker build -f Dockerfile -t test_flask_docker .

    待镜像构建完成后,启动项目镜像test_flask_docker

    执行

    (venv) passwordis123@ubuntu:~/PycharmProjects/tests/test_flask/test_flask_docker$ docker run -p 9876:9876 test_flask_docker

     则项目通过docker启动了

    在浏览器输入http://localhost:9876/

  • 相关阅读:
    xampp 80端口被占用后这么办??解决了
    XAMPP配置基于虚拟目录、多域名的环境
    mysql 主从同步
    jquery插件
    Css绘制箭头实现代码
    Ubuntu下mount命令的好用处
    linux下IPTABLES配置详解
    java程序员网站
    1.Hibernate介绍
    1. Mybatis介绍
  • 原文地址:https://www.cnblogs.com/ALXPS/p/13168645.html
Copyright © 2011-2022 走看看