拓冰建站拓冰建站
首页 / 资讯中心 / 正文

小白无痛入门Docker!核心概念+手动配置+AI模型部署(全可复制指令)

一、Docker是个啥通俗人话版1. 核心比喻以前开发项目本地能跑、服务器炸、环境报错、依赖冲突堪称玄学部署。Docker 项目专属打包盒你把代码、依赖、环境、配置全部打包进盒子在哪打开都能完美运行彻底解决“本地能跑线上不行”的千古难题。2. 3个核心名词必记镜像Image打包好的模板相当于安装包、系统快照只读不可改容器Container镜像跑起来的实例相当于打开的软件可启停、可删除仓库Registry存放镜像的商店默认是Docker Hub公共镜像随便拉3. Docker vs 虚拟机秒懂区别虚拟机笨重、开机慢、占内存整套系统完整模拟Docker轻量、秒启动、几乎不占资源只隔离项目环境不重复装系统二、Docker基础环境高频指令可直接复制默认已安装Docker Desktop/Linux Docker所有指令全局通用。1. 基础查看指令# 查看Docker版本验证安装成功 docker -v 查看本地所有镜像 docker images 查看正在运行的容器 docker ps 查看所有容器包含已停止 docker ps -a 查看系统信息、磁盘占用 docker info2. 镜像操作核心指令# 拉取官方镜像以python3.10为例 docker pull python:3.10-slim 删除本地镜像 docker rmi 镜像ID/镜像名 搜索镜像 docker search python3. 容器启停操作最高频# 启动容器后台运行、端口映射、命名 docker run -d --name test-python -p 8000:8000 python:3.10-slim 停止容器 docker stop 容器ID/容器名 重启容器 docker restart 容器ID/容器名 删除容器必须先停止 docker rm 容器ID/容器名 进入容器内部终端 docker exec -it 容器名 /bin/bash4. 懒人清理指令必存# 清理所有停止的容器、无用镜像、缓存 docker system prune -y三、Docker手动配置全流程自定义镜像重点来了不使用现成镜像手动从零配置项目环境理解打包原理模型部署必备核心通过 Dockerfile 手动编写配置自定义依赖、端口、启动命令。1. 新建项目目录结构随便建一个空文件夹放入2个核心文件Dockerfile镜像配置文件无后缀纯文本requirements.txt项目依赖2. 手动编写Dockerfile通用模板直接复制适配Python项目/AI模型项目注释详细可自行修改# 1. 基础镜像轻量化python3.10 FROM python:3.10-slim 2. 设置工作目录容器内路径 WORKDIR /app 3. 替换国内源解决下载慢、超时 RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 4. 复制依赖文件并安装 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt 5. 复制项目所有代码到容器 COPY . . 6. 暴露端口和启动端口对应 EXPOSE 8000 7. 容器启动默认命令 CMD [uvicorn, main:app, --host, 0.0.0.0, --port, 8000]3. 编写依赖文件 requirements.txt模型部署常用依赖直接复制fastapi uvicorn torch transformers accelerate sentencepiece4. 手动构建镜像启动容器# 在当前目录构建镜像命名为ai-model-service docker build -t ai-model-service:v1 . 后台启动容器端口映射挂载模型目录 docker run -d --name ai-model-container -p 8000:8000 -v ./models:/app/models ai-model-service:v1参数解释小白必懂-d后台守护运行关闭终端不中断-p 宿主机端口:容器端口端口映射外部可访问服务-v 宿主机目录:容器目录文件挂载模型/数据持久化删除容器不丢数据四、Docker 完整AI模型部署实战可直接上线前面手动配置铺垫完成这里直接实战轻量化大模型API服务部署零基础一键部署可用。1. 编写模型服务 main.py极简推理服务支持接口调用模型from fastapi import FastAPI from transformers import AutoModel, AutoTokenizer app FastAPI(titleDocker模型部署服务) 加载轻量化模型可替换任意模型 model_name qwen/Qwen-0.5B-Chat tokenizer AutoTokenizer.from_pretrained(model_name, trust_remote_codeTrue) model AutoModel.from_pretrained(model_name, trust_remote_codeTrue) 推理接口 app.post(/predict) def predict(text: str): inputs tokenizer(text, return_tensorspt) outputs model.generate(**inputs, max_length100) res tokenizer.decode(outputs[0], skip_special_tokensTrue) return {result: res}2. 新增 .dockerignore优化打包忽略无用文件减小镜像体积__pycache__ *.pyc *.log .git .gitignore models/* !models/.keep3. 一键部署全套指令# 重新构建镜像更新代码后必执行 docker build -t ai-model-service:v1 . 启动模型容器 docker run -d --name llm-service -p 8000:8000 ai-model-service:v1 查看容器日志排查报错 docker logs -f llm-service4. 测试模型接口部署成功验证# curl调用测试 curl -X POST http://localhost:8000/predict -H Content-Type: application/json -d {text:你好Docker模型部署}返回推理结果 部署成功5. GPU模型部署进阶刚需有N卡需要GPU加速启动容器增加GPU参数需提前安装nvidia-dockerdocker run -d \ --name gpu-model-service \ --gpus all \ -p 8000:8000 \ ai-model-service:v1五、Docker核心逻辑总结小白速记Docker解决的核心问题环境不一致、部署繁琐、依赖冲突手动配置核心编写Dockerfile → 构建镜像 → 运行容器 → 挂载持久化模型部署核心打包运行环境模型依赖 → 暴露端口 → 提供API推理服务生产必备操作端口映射、文件挂载、后台运行、日志排查、镜像轻量化六、写在最后这篇博客避开了所有空洞理论全部是新手能直接落地的手动配置模型部署实战。日常开发、模型上线、项目迁移这套流程完全够用敲两遍就能彻底吃透Docker基础部署
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门