关键词

Docker部署用Python编写的Web应用的实践

Docker 部署 Python Web 应用的攻略如下:

1. 编写 Python Web 应用

在开始 Docker 部署之前,我们首先需要编写一个基于 Python 的 Web 应用。这个应用可以使用 Flask 或 Django 等框架创建。为了演示,这里我们假设要部署的应用名为 myapp,使用 Flask 框架编写。

首先,安装 Flask:

pip install flask

在项目的根目录下,创建一个 app.py 文件,内容如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

这个小应用非常简单,但足以说明 Docker 部署 Python Web 应用的原理。

2. 创建 Dockerfile

接下来,我们需要创建一个名为 Dockerfile 的文件。Dockerfile 的作用是定义镜像构建过程中的脚本命令,使得我们可以在 Docker 容器中运行应用。

在项目根目录下,创建一个名为 Dockerfile 的文件,内容如下:

FROM python:3.7-slim-buster

WORKDIR /app

COPY requirements.txt requirements.txt
RUN pip install --upgrade pip && \
    pip install --no-cache-dir -r requirements.txt

COPY . .

CMD ["python", "app.py"]

这个 Dockerfile 定义了一个从 Python 3.7 slim 版本的基础镜像开始构建的自定义镜像。我们使用 WORKDIR 指令来设置容器内的工作目录为 /app,并通过 COPY 指令将当前目录下的 requirements.txt 文件和整个项目的代码复制到容器内。

然后,我们运行 pip install 安装需要的依赖包,最后通过 CMD 指令运行 Flask 应用。

3. 构建 Docker 镜像

有了 Dockerfile,我们就可以开始构建 Docker 镜像了。在项目根目录下,执行以下命令构建镜像:

docker build -t myapp .

其中 myapp 是自定义的镜像名称,可以根据需要修改。构建过程可能需要一些时间,请耐心等待。

4. 运行 Docker 容器

镜像构建完成之后,我们就可以使用 docker run 命令运行容器了:

docker run -p 8000:5000 myapp

其中 -p 参数指定容器内部启动的 Web 应用端口号为 5000,而将它映射到主机的 8000 端口上(这里可以根据需要调整)。此时,我们就可以通过浏览器访问 http://localhost:8000 来查看运行的结果了。如果一切正常,应该会看到页面上显示的是 Hello, World!。另外,我在这个链接中也加上了示例代码的github链接,主要是方便前来浏览的您获取参考链接或者其他案例代码:Python Flask应用 Docker 部署教程

除了上面的命令行方式,你也可以使用 Docker Compose 来管理应用和容器。具体的方案可以参考 Docker Compose 部署 Web 应用

以上就是 Docker 部署 Python Web 应用的攻略,希望能够帮助到你。

本文链接:http://task.lmcjl.com/news/14284.html

展开阅读全文