从零开始:AI容器化部署Docker完整步骤详解
很多刚接触AI运维的朋友,一听到“容器化部署”就觉得复杂。
其实Docker把AI模型、依赖库和环境打包成一个独立容器,不管换哪台服务器,一条命令就能跑起来。
下面我按完整步骤拆解,从零开始让你也能轻松完成AI容器化部署。
你得先有的东西
执行下面操作前,确保你有一台Linux服务器(Ubuntu 20.04或CentOS 7+),并且有sudo权限。
如果你用宝塔面板,需要先安装Docker管理器。
还是那句话,别怕,命令行输入以下内容就能装好Docker:
# 更新包索引
sudo apt update
# 安装依赖
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 设置稳定版仓库
sudo add-apt-repository "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 安装Docker
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker && sudo systemctl enable docker
装完后运行 sudo docker version 看到Client和Server都有版本号,就说明安装成功。
拉取AI镜像并启动容器
Docker Hub上有大量官方AI镜像,比如TensorFlow、PyTorch、ONNX Runtime。
我们以TensorFlow推理镜像为例。
打开终端执行:
sudo docker pull tensorflow/serving:latest-gpu
如果你的服务器没有NVIDIA显卡,把-gpu去掉拉取CPU版本:docker pull tensorflow/serving。
拉取完成后,用下面命令启动容器,将主机的模型目录挂载进去,并映射端口:
sudo docker run -p 8501:8501 --name tf_serving --mount type=bind,source=/home/user/models/my_model,target=/models/my_model -e MODEL_NAME=my_model tensorflow/serving
参数说明:-p 8501:8501 映射REST API端口;--mount 把宿主机的模型文件夹挂载到容器内;MODEL_NAME指定模型名称。
启动后看到 Listening for REST requests on port 8501 就代表成功。
验证AI服务是否正常
打开另一个终端,用curl测试模型接口:
curl -d '{"instances": [[1.0, 2.0, 3.0]]}' -X POST http://localhost:8501/v1/models/my_model:predict
如果返回包含predictions字段的JSON,说明你的AI容器化部署完成。
你也可以用浏览器访问 http://你的服务器IP:8501/v1/models/my_model 看到模型元数据。
避坑指南(新手最容易翻车的地方)
- GPU不能用:想用GPU必须安装NVIDIA容器工具包,执行
sudo apt install -y nvidia-container-toolkit并重启Docker,启动容器时加--gpus all。 - 端口被占用:
-p 8501:8501如果报 bind 错误,先sudo lsof -i:8501查谁占用了,换一个端口比如-p 8502:8501。 - 模型路径写错:容器内目标路径必须是
/models/模型名称,且模型文件夹里要有1(版本号子目录)和saved_model.pb文件。 - 内存不足:AI镜像较大,建议服务器至少有2G内存,swap也配一下。
常用运维命令速查
- 查看运行中的容器:
sudo docker ps - 停止容器:
sudo docker stop tf_serving - 删除容器:
sudo docker rm tf_serving - 查看日志:
sudo docker logs tf_serving
总结
完成AI容器化部署Docker完整步骤并不难,核心就是装Docker、拉镜像、启动容器、映射端口、测试接口。
遇到问题先看日志,再对照避坑点检查。
以后更新模型只需替换挂载目录,重启容器即可,维护成本很低。
如果你在步骤中遇到其他报错,欢迎留言交流。