Docker 构建项目镜像:基于flask的大语言模型网页系统(Ubuntu)

下载docker

使用官方方法参考:Install | Docker Docs

运行以下命令查看 Docker 是否正确安装:

docker --version

如果安装成功,终端会返回类似以下的输出:

Docker version 28.1.1, build 4eba377

若显示“command not found”,说明 Docker 未正确安装或环境变量未配置。

使用PyTorch镜像+本地大语言模型文件

首先构建dockerfile,新建文件dockerfile

cd <项目文件夹>
mkdir dockerfile

写入下列代码(具体任务需要更改请自行参考更改)

# 构建环境
FROM pytorch/pytorch:2.7.1-cuda11.8-cudnn9-runtime
# 设置工作路径
WORKDIR /app
# 复制全部本地文件到镜像
COPY . .
# 安装requirements.txt环境配置
RUN pip install --user -r requirements.txt
# 暴露服务端口
EXPOSE 8000
# 启动命令
CMD ["python", "main.py"]

不能使用纯python镜像做基础,即使配置好环境所需包也不能调用GPU

PyTorch 镜像包含Python 、CUDA、PyTorch、pip,配置完requirements.txt即可运行

构建docker镜像:

# docker build -t <镜像名> .
docker build -t test_project .

运行容器:

docker run --gpus all -p 5000:5000 my_python_app
#--gpus all(使用GPU) -p 主机端口:容器端口 <容器名>
# -d 后台运行(detached 模式) --restart=unless-stopped 自动重启策略(除非手动停止,否则总是重启)

运行结果:

# docker run --gpus all -p 5000:5000 med_desen
# flask运行正常
 * Serving Flask app 'app'
 * Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://172.17.0.2:5000  # 容器内部ip
Press CTRL+C to quit
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 695-962-530

附:docker常用操作命令

docker images # 查看镜像目录
docker ps # 查看正在运行的容器 -a 查看所有容器
docker rmi <镜像ID或镜像名># 删除镜像
docker rm <容器ID或容器名> # 用于删除一个或多个已停止的容器。它不会删除正在运行的容器,除非使用 -f 参数强制删除
docker stop -t=60 <容器ID或容器名> # 停止容器 启用容器用start
# 参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
docker kill 容器ID或容器名 # 直接关闭容器
# stop给与一定的关闭时间交由容器自己保存状态,kill直接关闭容器
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐