一、下载安装Docker
下载地址:Docker Desktop: The #1 Containerization Tool for Developers | Docker
我是Windows10系统,所以选择的是。

安装很简单,下一步下一步。
建议勾选 "使用 WSL 2 而不是 Hyper-V" 的选项,这样性能会更好。
我是Windows10系统,所以选择的是。
二、运行Docker
安装完毕之后,可以在命令行运行docker --version,如果能看到版本号,就说明安装成功了。

但是打开"Docker Desktop"时报错。
An error occurred while running a WSL command. Please check your WSL configuration and try again.
运行wsl --update,安装了
正在安装: 适用于 Linux 的 Windows 子系统
已安装 适用于 Linux 的 Windows 子系统。
启动Docker Desktop不报错,但是"Starting the Docker Engine"。
netsh winsock reset,然后重启电脑。
在打开Docker Desktop就正常了。

三、编写 Dockerfile
在项目根目录下,创建一个名为 Dockerfile 的无后缀名文件。这是一个文本文件,定义了镜像的构建流程。一个生产环境可用的 Dockerfile ,内容如下:
cs
# 1. 选择基础镜像
# 使用官方 Python 轻量级镜像,更小巧高效[reference:9][reference:10]
FROM python:3.7.4
# 2. 设置工作目录
# 容器内所有后续命令的执行路径[reference:11]
WORKDIR /app
# 3. 复制依赖文件并安装
# 先只复制 requirements.txt,能充分利用 Docker 的构建缓存,加速后续构建[reference:13]
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 4. 复制项目代码
# 将项目所有文件复制到容器的 /app 目录[reference:15]
COPY . .
# 5. 暴露端口
# 声明容器运行时监听的端口[reference:16]
EXPOSE 5000
# 6. 设置启动命令
# 生产环境推荐使用 Gunicorn 作为 WSGI 服务器[reference:17]
# 格式: ["gunicorn", "-b", "0.0.0.0:5000", "主文件模块名:Flask实例名"]
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]
四、构建 Docker 镜像
打开终端(如 PowerShell),进入项目根目录,执行构建命令:
bash
docker build -t my-flask-app .
- -t my-flask-app:为镜像指定一个名字和标签(名字:标签)
- .:告诉 Docker 到当前目录下去找 Dockerfile

运行报错:
ERROR internal load metadata for docker.io/library/python:3.7.4
编辑daemon.json文件
增加:
Delphi
"registry-mirrors": [
"https://docker.registry.cyou/",
"https://docker-cf.registry.cyou/",
"https://dockercf.jsdelivr.fyi/",
"https://docker.jsdelivr.fyi/",
"https://dockertest.jsdelivr.fyi/",
"https://mirror.aliyuncs.com/",
"https://dockerproxy.com/",
"https://mirror.baidubce.com/",
"https://docker.m.daocloud.io/",
"https://docker.nju.edu.cn/",
"https://docker.mirrors.sjtug.sjtu.edu.cn/",
"https://docker.mirrors.ustc.edu.cn/",
"https://mirror.iscas.ac.cn/",
"https://docker.rainbond.cc/",
"https://jq794zz5.mirror.aliyuncs.com"
]
重启电脑,然后再build,如下图,正常了。

持续很久,又报错"ERROR: failed to build: failed to receive status: rpc error: code = Unavailable desc = error reading from server: EOF"。
后来忘记啥问题了,build又正常了。
五、运行容器
docker run -d -p 8389:8389 --name my-running-app2 my-flask-app
-
-d:让容器在后台运行。 -
-p 5000:5000:将宿主机的 5000 端口映射到容器的 5000 端口。这样你就可以通过http://localhost:5000来访问应用了。 -
--name my-running-app2:给容器起一个名字。 -
my-flask-app:指定要使用的镜像名。
六、验证与测试
打开浏览器,访问 http://localhost:5000,应该能看到你的 Flask 应用正在运行。
你也可以在终端使用 docker ps 命令来查看正在运行的容器列表,确认 my-running-app 的状态是 Up。