Docker 部署 - Crawl4AI 文档 (v0.5.x)
快速入门 🚀
拉取并运行基础版本:
# 不带安全性的基本运行
docker pull unclecode/crawl4ai:basic
docker run -p 11235:11235 unclecode/crawl4ai:basic
# 带有 API 安全性启用的运行
docker run -p 11235:11235 -e CRAWL4AI_API_TOKEN=your_secret_token unclecode/crawl4ai:basic
使用 Docker Compose 运行 🐳
从本地 Dockerfile 或 Docker Hub 使用 Docker Compose
Crawl4AI 提供灵活的 Docker Compose 选项,用于管理你的容器化服务。你可以使用提供的 Dockerfile 本地构建镜像,也可以使用 Docker Hub 上的预构建镜像。
选项 1:使用 Docker Compose 本地构建
如果你希望本地构建镜像,请使用提供的 docker-compose.local.yml 文件。
docker-compose -f docker-compose.local.yml up -d
这将:
1. 从提供的 Dockerfile 构建 Docker 镜像。
2. 启动容器并将其暴露在 http://localhost:11235。
选项 2:使用 Docker Compose 从 Hub 获取预构建镜像
如果你更倾向于使用 Docker Hub 上的预构建镜像,请使用 docker-compose.hub.yml 文件。
docker-compose -f docker-compose.hub.yml up -d
这将:
1. 拉取预构建镜像 unclecode/crawl4ai:basic(或根据你的配置选择 all)。
2. 启动容器并将其暴露在 http://localhost:11235。
停止正在运行的服务
要停止通过 Docker Compose 启动的服务,可以使用:
docker-compose -f docker-compose.local.yml down
# 或者
docker-compose -f docker-compose.hub.yml down
如果容器无法停止且应用仍在运行,请检查正在运行的容器:
找到正在运行的服务的 CONTAINER ID 并强制停止它:
docker stop <CONTAINER_ID>
使用 Docker Compose 调试
- 查看日志:要查看容器日志:
docker-compose -f docker-compose.local.yml logs -f
- 移除孤立容器:如果服务仍在意外运行:
docker-compose -f docker-compose.local.yml down --remove-orphans
- 手动移除网络:如果网络仍在使用中:
docker network ls
docker network rm crawl4ai_default
为什么使用 Docker Compose?
Docker Compose 是部署 Crawl4AI 的推荐方式,因为:
1. 它简化了多容器设置。
2. 允许你在单个文件中定义环境变量、资源和端口。
3. 使在本地开发和生产镜像之间切换变得更容易。
例如,你的 docker-compose.yml 可以包含 API 密钥、令牌设置和内存限制,使部署快速且一致。
API 安全性 🔒
了解 CRAWL4AI_API_TOKEN
CRAWL4AI_API_TOKEN 为你的 Crawl4AI 实例提供可选的安全性:
- 如果设置了
CRAWL4AI_API_TOKEN:所有 API 端点(除了/health)都需要认证。 - 如果没有设置
CRAWL4AI_API_TOKEN:API 将公开可用。
# 安全实例
docker run -p 11235:11235 -e CRAWL4AI_API_TOKEN=your_secret_token unclecode/crawl4ai:all
# 未受保护实例
docker run -p 11235:11235 unclecode/crawl4ai:all
进行 API 调用
对于受保护的实例,在所有请求中包含令牌:
import requests
# 设置标头(如果使用了令牌)
api_token = "your_secret_token" # 与 CRAWL4AI_API_TOKEN 中设置的令牌相同
headers = {
"Authorization": f"Bearer {
api_token}"} if api_token else {
}
# 发起认证请求
response = requests.post(
"http://localhost:11235/crawl",
headers=headers,
json={
"urls": "https://example.com",
"priority": 10
}
)
# 检查任务状态
task_id = response.json()["task_id"]
status = requests.get(
f"http://localhost:11235/task/{
task_id}",
headers=headers
)
与 Docker Compose 一起使用
在你的 docker-compose.yml 中:
services:
crawl4ai:
image: unclecode/crawl4ai:all
environment:
- CRAWL4AI_API_TOKEN=${
CRAWL4AI_API_TOKEN:-} # 可选
# ... 其他配置
然后可以:
1. 在 .env 文件中设置:
CRAWL4AI_API_TOKEN=your_secret_token
或者在命令行中设置:
CRAWL4AI_API_TOKEN=your_secret_token docker-compose up
安全提示:如果你启用了 API 令牌,请确保保持其安全性,不要将其提交到版本控制中。除了健康检查端点(
/health)外,所有 API 端点都需要该令牌。
配置选项 🔧
环境变量
你可以使用环境变量来配置服务:
# 基本配置
docker run -p 11235:11235 \
-e MAX_CONCURRENT_TASKS=5 \
unclecode/crawl4ai:all
# 启用安全性和 LLM 支持
docker run -p 11235:11235 \
-e CRAWL4AI_API_TOKEN=your_secret_token \
-e OPENAI_API_KEY=sk-... \
-e ANTHROPIC_API_KEY=sk-ant-... \
unclecode/crawl4ai:all
使用 Docker Compose(推荐) 🐳
创建一个 docker-compose.yml 文件:
version: '3.8'
services:
crawl4ai:
image: unclecode/crawl4ai:all
ports:
- "11235:11235"
environment:
- CRAWL4AI_API_TOKEN=${
CRAWL4AI_API_TOKEN:-} # 可选 API 安全性

最低0.47元/天 解锁文章
1969

被折叠的 条评论
为什么被折叠?



