如何把Flask应用程序部署到Docker中

简介: 通过一步一步的解释说明,完整的把一个Flask应用程序部署到Docker中

什么是Docker

Docker 是一种容器化工具,可以更轻松地使用容器创建、部署和运行应用程序。

这个不是本文的重点,具体概念可以找一下相关的文章。

如何配置项目

项目的目录结构

创建一个flask-docker的应用,应用程序的目录结构如下:

**flask-docker**
├── app.py
├── Dockerfile
├── requirements.txt

文件内容说明

app.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello world! Flask  Docker!!'


if __name__ == "__main__":
    app.run(debug=True)

现在,直接在命令行运行python app.py来测试这个 Flask的hello world 应用程序

python app.py

我们应该会得到类似于下面的输出结果:

* Serving Flask app 'app' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 

Dockerfile内容:

#使用的基础镜像
FROM python:3.8.10
#设置工作目录
WORKDIR /app
#复制requirements.txt
COPY requirements.txt requirements.txt
#安装依赖包
RUN pip install -r requirements.txt
#复制当前目录下的内容到docker中
COPY . .
#启动命令
ENTRYPOINT [ "python", "-m" , "flask",  "--app","app.py", "run", "--host=0.0.0.0","--port=8000"]

Dockerfile的基本内容,具体的解释已经在文件中,这里就不多说了

如何构建 Docker 镜像

接下来,就是构建Docker镜像。主要使用“docker build”命令,具体如下。

docker build --tag flask-docker .

如何查看镜像

通过“docker images” 可以查看所有的镜像,具体如下:

docker images

命令执行后,输出如下所示:

REPOSITORY      TAG       IMAGE ID       CREATED             SIZE
flask-docker   latest    cd52b70b361a   About an hour ago   912MB
python          3.8.10     587b1bc803b3   7 months ago        885MB

如何运行容器

接下来就可以使用docker run命令,运行image。

docker run --name flask-docker-v1 -dit -p 8000:8000  flask-docker:latest

运行结束后,可以通过http://localhost:8000进行验证

如何查看容器

我们可以使用“docker ps"命令来查看当前有哪些容器在运行,具体命令如下:

docker ps

输出如下:

CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS         PORTS                    NAMES
a173935297cd   flask-docker   "python -m flask ru…"   5 minutes ago   Up 5 minutes   0.0.0.0:8000->8000/tcp   good_wescoff

如何停止容器

要停止当前正在运行的容器,我们可以执行“docker stop"命令,具体命令如下:

docker stop <container-id>

如何删除容器

docker rm <container-id>

到此结束!!!

相关文章
|
4天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
41 25
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
15天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
4天前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
1月前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
41 2
|
关系型数据库 MySQL 数据库
Flask 教程 第十九章:Docker容器上的部署
本文转载自:https://www.jianshu.com/p/c29bc412f21a 这是Flask Mega-Tutorial系列的第十九部分,我将在其中部署Microblog到Docker容器平台。
5227 0
|
2月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
133 3
|
2月前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
116 2
|
2月前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
167 2
|
2月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
42 1