ollama部署IP问题;docker部署ollama;将模型API做成镜像后用docker部署;
1.ollama部署IP问题
修改ollama配置使其可以监听0.0.0.0和修改端口可以外网访问,127.0.0.1外网访问不了。
2.docker部署ollama
docker run -d --gpus=all \
-v /home/user/models/ollama_models:/root/.ollama \
-p 8001:8001 \
--name ollama \
ollama/ollama
-v是挂载在宿主机上的备份;
-p是端口映射,把宿主机的 8001 端口映射到容器的 8001 端口
--name给容器命名
ollama/ollama 是Docker镜像名,Docker会先在本地查找这个镜像,如果没有,会自动从Docker Hub下载
docker可以进入容器内部,进入后,你可以像在普通 Linux 系统一样操作,命令如下:
docker exec -it ollama /bin/bash
退出直接ctrl+D。
Docker已经创建的容器端口映射是不可直接修改的,创建容器时一定要慎重,加上-v备份数据
Docker 默认会把映射端口绑定到宿主机的所有网卡即0.0.0.0,
如果需要限制访问,就需要docker显式指定宿主机IP,比如
192.168.1.100 的 8001 映射到容器 11434
docker run -d --gpus=all
-v /home/user/models/ollama_models:/root/.ollama
-p 192.168.1.100:8001:11434
--name ollama
ollama/ollama
ollama的默认端口为11434,宿主机直接映射到11434就不用去修改ollama的配置,这就是docker的优势
3.将模型API做成镜像后用docker部署
我已经有 conda 环境 + SAM3 模型 + API 服务代码;目标是打包进Docker镜像并拿到容器中运行。
VS Code拥有强大的容器工具扩展。
刚刚在GPU服务器中配置的docker容器能够直观的看到:

可以在vscode中管理日志、开启shell

Docker 读取当前目录下的 Dockerfile
docker的镜像构建,创建自己的Docker镜像,参考文章:
https://blog.csdn.net/qiy_icbc/article/details/151622857
Dockerfile文件。
依照顺序执行 Dockerfile 指令:
FROM python:3.10-slim → 拉取基础镜像
WORKDIR /app → 设置工作目录
COPY requirements.txt . → 复制依赖文件
RUN pip install ... → 安装依赖
COPY . . → 复制项目文件
CMD ["uvicorn", ...] → 设置容器启动命令
其实Dockerfile就是用一份文本描述如何构建Docker镜像,将应用及其依赖环境打包成可复现、可移植的容器镜像。
.dockerignore文件。
# 排除Git相关文件
.git
.github/
# 排除虚拟环境和依赖缓存
venv/
.venv/
__pycache__/
*.py[cod]
# 排除编辑器配置
.vscode/
.idea/
# 排除测试和文档(按需保留,若镜像需要运行测试可删除此行)
tests/
docs/
# 排除本地日志和临时文件
logs/
tmp/
浙公网安备 33010602011771号