在docker容器中运行flask应用过程

 更新时间:2024年06月11日 11:08:48   作者:taotao033  
这篇文章主要介绍了在docker容器中运行flask应用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1、目录结构设定

.
├── Dockerfile
└── app
    ├── app.py
    └── requirements.txt

2、创建一个简单的flask

# app.py
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Demo Flask & Docker application is up and running!"

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=80)

注意:

在app.run() host="0.0.0.0"

这里必须为0.0.0.0,是一个通配符IP地址,将匹配任何可能的输入。

3、创建Dockerfile

FROM python

WORKDIR /opt/demo/
COPY /app .

RUN pip install -r requirements.txt

ENTRYPOINT python app.py
  • 行1:从DockerHub上拉取和使用最新版的python,当然根据自己项目需要可以改成:FROM python:3.6
  • 行3:设置工作目录 。相当于cd 进入该目录
  • 行4:复制app文件夹到WORKDIR
  • 行6:安装相关依赖包,这里可以加 -i https://pypi.tuna.tsinghua.edu.cn/simple 加快下载速度。
  • 行8: 当docker run被执行时,开始运行Flask application。

4、创建容器Container

docker build -t demo-dockerflask:latest .

5、运行容器

  • 临时运行docker镜像
docker run -it --rm -p 80:80 demo-dockerflask:latest
  • 生产环境运行(以daemon方式运行)
docker run -d -p 80:80 --name demo-dockerflask-1 demo-dockerflask:latest
  • -it 终端交互
  • --rm 本次程序终止,容器会自动清除
  • -d 是后台运行
  • -p 是建立端口映射
  • --name 是容器的名称
  • --:latest 是镜像的标记Tag,如:latest

6、测试访问

用浏览器打开127.0.0.1即可!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker中CMD和ENTRYPOINT区别

    docker中CMD和ENTRYPOINT区别

    本文主要介绍了docker中CMD和ENTRYPOINT区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Docker 如何分配宿主机网段 IP

    Docker 如何分配宿主机网段 IP

    本篇文章主要介绍了Docker 如何分配宿主机网段 IP,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Docker私有仓库打开2375端口的实现

    Docker私有仓库打开2375端口的实现

    本文主要介绍了Docker私有仓库打开2375端口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 详解Docker Swarm 在持续集成测试中的应用

    详解Docker Swarm 在持续集成测试中的应用

    本文主要介绍如何利用 Docker Swarm 集群功能和 Selenium Grid 脚本分发功能,来搭建一个可以动态扩容的 Selenium 自动化脚本执行环境,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • docker离线部署docker,部署业务方式

    docker离线部署docker,部署业务方式

    这篇文章主要介绍了docker离线部署docker,部署业务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docke更新应用程序的过程详解

    Docke更新应用程序的过程详解

    这篇文章主要介绍了Docke更新应用程序,在本节中,您学习了如何更新和重建容器,以及如何停止和删除容器,需要的朋友可以参考下
    2023-11-11
  • k8s官方镜像代理加速方式

    k8s官方镜像代理加速方式

    这篇文章主要介绍了k8s官方镜像代理加速方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • docker如何查看已安装的Redis版本

    docker如何查看已安装的Redis版本

    这篇文章主要介绍了docker如何查看已安装的Redis版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker搭建代码检测平台SonarQube并检测maven项目的流程

    Docker搭建代码检测平台SonarQube并检测maven项目的流程

    这篇文章主要介绍了Docker搭建代码检测平台SonarQube并检测maven项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 解决docker images 镜像消失的问题

    解决docker images 镜像消失的问题

    这篇文章主要介绍了解决docker images 镜像消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论