Docker 部署 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 应用的原理。
接下来,我们需要创建一个名为 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 应用。
有了 Dockerfile,我们就可以开始构建 Docker 镜像了。在项目根目录下,执行以下命令构建镜像:
docker build -t myapp .
其中 myapp
是自定义的镜像名称,可以根据需要修改。构建过程可能需要一些时间,请耐心等待。
镜像构建完成之后,我们就可以使用 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