简介
本文旨在指导读者如何在阿里云服务器上通过 Docker 容器部署 Flask 应用程序,使其能够从外部网络访问。我们将逐步介绍从编写 Python 代码到最终部署的整个过程。
Python 代码示例
首先,创建一个名为 app.py
的文件,包含以下代码:
# 编码:UTF-8
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
# 为了使应用可以从外部网络访问,需要将 host 设为 0.0.0.0
app.run(host='0.0.0.0', port=5000, debug=True)
Dockerfile 配置
接下来,创建一个 Dockerfile 文件,用于定义构建 Docker 镜像所需的指令:
# 基于 Python 3.8 版本
FROM python:3.8
# 更新并安装 Flask
RUN pip install --no-cache-dir flask
# 设置工作目录
WORKDIR /app
# 将当前目录下的 app.py 复制到容器内的 /app 目录
COPY app.py .
# 定义启动命令,运行 Flask 应用
CMD ["python", "app.py"]
构建 Docker 镜像
在包含 Dockerfile 的目录中执行以下命令以构建 Docker 镜像:
docker build -t my-flask-app .
运行 Docker 容器
使用以下命令启动 Docker 容器,并将主机的 5000 端口映射到容器的 5000 端口,以便外部网络可以访问 Flask 应用:
docker run -d -p 5000:5000 my-flask-app
配置阿里云安全组规则
为了让外部网络能够访问部署在阿里云上的 Flask 应用,您需要在阿里云控制台中添加一条安全组规则,开放 5000 端口。完成此操作后,您可以通过浏览器访问 http://您的阿里云IP地址:5000
来查看应用。