litellm Docker 部署 5 分钟跑通:三个容器、一条命令、一把主密钥
【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm
网关后面接三个容器:litellm 本体、PostgreSQL 16、Prometheus,全由仓库自带的 docker-compose.yml 编排。你只需要准备一把主密钥、敲一条 compose 命令,剩下的是等构建、看状态。
第 0 分钟:clone 仓库,配好主密钥
这一步只做一件事:拿到代码,并把LITELLM_MASTER_KEY写进.env。
git clone https://gitcode.com/GitHub_Trending/li/litellm cd litellm密钥用来进管理界面登录,也用来给代理请求做鉴权:
echo "LITELLM_MASTER_KEY=$(openssl rand -hex 32)" > .envcompose 文件里已经声明env_file: .env,数据库连接串、账号密码这些变量也全部写死在 compose 里了,你不用操心。
第 2 分钟 🐳:一条命令构建并启动
docker compose up -d --build这条命令会构建 litellm 镜像并拉起全部三个服务。首次构建要装依赖、编译 Prisma 客户端,耐心等几分钟;之后改代码再构建会命中层缓存,快得多。
构建走的是多阶段流程,值得花 30 秒看一眼 Dockerfile:
- 基础镜像用 Chainguard 的 wolfi-base,按 digest 钉死版本
uv装 Python 依赖,prisma generate在构建期把数据库客户端生成好- 运行时镜像只拷走 venv、入口脚本和 UI 产物,源码和编译工具一概不带
同一份镜像换台机器重新拉,行为完全一样,不依赖你本地的 Python 版本或 pip 环境。
第 5 分钟:确认三个容器都活着
docker compose ps三个服务分工如下:
| 服务 | 镜像 | 职责 | 对外端口 |
|---|---|---|---|
| litellm | compose 构建产物 | 网关本体,带健康检查 | 4000 |
| db | postgres:16 | 存模型配置、用量和权限 | 5432 |
| prometheus | prom/prometheus | 采集网关指标,保留 15 天 | 9090 |
litellm 服务配了 30 秒一次的健康检查,探测/health/liveliness,所以状态列出现Up (healthy)才算真正就绪。再发一个真实请求验证链路:
curl http://localhost:4000/health/liveliness返回 healthy 就通了。
之后:换 non_root 镜像、接监控、看管理界面
镜像变体按场景选,都在 docker/ 目录下:
| 文件 | 特点 | 适合 |
|---|---|---|
| Dockerfile | 标准多阶段构建 | 默认,开发测试 |
| Dockerfile.non_root | 非 root 用户运行 | 生产,权限收紧 |
| Dockerfile.database | 含数据库组件 | 需要自建库的场景 |
切 non_root 只需在 compose 的build段加一行dockerfile: docker/Dockerfile.non_root。仓库里还有个 docker-compose.hardened.yml,把只读根文件系统、Squid 限制出站流量这些加固项叠上去,适合上线前压一轮安全测试。
监控不用额外接:Prometheus 的采集配置由仓库根目录的 prometheus.yml 提供,15 秒一次地 scrape litellm 的 4000 端口,指标保留 15 天,有 Grafana 就直接挂上。
管理界面在http://localhost:4000,用你的LITELLM_MASTER_KEY登录。模型、密钥、用量这些都能在网页上操作,比如审计日志页:
最容易踩的两个坑
- 主密钥没配:管理界面登录会直接报错。容器反复重启时,先
docker compose logs litellm搜MASTER_KEY,九成是这个。 - 首启太急:容器入口脚本要先跑数据库迁移,健康检查预留了 40 秒宽限期。看到状态还是 starting 别急着
down,等一两分钟。
如果只记一件事:.env里必须有LITELLM_MASTER_KEY,别的仓库都替你配好了。更多变体玩法(离线构建、非 root 测试)看 docker/README.md。
【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考