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

     

  • 相关阅读:
    Neko's loop HDU-6444(网络赛1007)
    Parameters
    SETLOCAL
    RD / RMDIR Command
    devenv 命令用法
    Cannot determine the location of the VS Common Tools folder.
    'DEVENV' is not recognized as an internal or external command,
    How to change Visual Studio default environment setting
    error signing assembly unknown error
    What is the Xcopy Command?:
  • 原文地址:https://www.cnblogs.com/aze999/p/13597220.html
Copyright © 2011-2022 走看看