zoukankan      html  css  js  c++  java
  • docker构建Flask应用镜像

    构建镜像的目录结构:

    Dockerfile是docker构建文件

    requirements.txt 是 src 文件夹里各个文件所需的相关模块。

    src的目录结构:

     主要是 app.py 文件:下面是一个简单的demo

     1 from flask import Flask
     2 
     3 app = Flask(__name__)
     4 
     5 @app.route('/')
     6 def hello(): 
     7     return 'hello docker部署Flask'
     8     
     9 if __name__ == '__main__':
    10     app.run(host="0.0.0.0")

    Dockerfile:

    docker对应的 Dockerfile 文件,注意这是一个文件,没有后缀,内容如下:

    1 FROM python:3.7.5
    2 
    3 WORKDIR /app/src
    4 COPY . /app
    5 
    6 RUN pip install -r /app/requirements.txt -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
    7 
    8 CMD python app.py

    FROM python:3.7.5 是基于哪个镜像源。

    建议使用你本地用的python哪个版本就基于那个源。比如:我本地使用python3.6.8来开发项目,那这里就修改成 FROM python:3.6.8

    将文件上传至服务器:

     

    构建镜像:

    在安装好docker环境下使用如下命令,记得要在有 Dockerfile 文件下 执行如下命令

    docker build -t test:v1.0 .

    test 是构建镜像的名称。

    v1.0 是对应镜像的版本号。版本号可以自己随便定义。比如:1.1.0

    要注意后面是有一个点的,然后就是等待构建完成了。

    可能等待的时间会有点慢,最后可以使用命令 docker images 检查是否已经构建完成。

     

    镜像构建完成后,就可以测试下构建的镜像是否成功。

    运行镜像:

    语法:docker run -itd -p 物理机端口:容器端口 镜像ID或镜像名称:tag

    docker run -itd -p 2000:5000 test:v1.0

    物理机端口:之后访问时所需要加上的端口

    容器端口:原app.py中所定义的端口,默认是 5000

    tag:构建镜像的版本号

    docker ps 可查看当前正在运行的容器。

    如果有上面的test:v1.0容器,说明已经运行成功。再然后浏览器访问:http://IP:2000/ 即可查看到 hello docker部署Flask

     

    此笔记参考自xiaolong

     

  • 相关阅读:
    启动mysql时显示:/tmp/mysql.sock 不存在的解决方法
    python在使用MySQLdb模块时报Can't extract file(s) to egg cacheThe following error occurred while trying to extract file(s) to the Python eggcache的错误。
    文档发布测试
    我的日常
    CSS-基础优化策略
    Git-基本操作
    Git-配置SSH公钥
    Git-免密提交
    Wx-mpvue开发小程序
    Vue-移动端开发全家桶
  • 原文地址:https://www.cnblogs.com/aze999/p/13597220.html
Copyright © 2011-2022 走看看