Docker 部署 - Crawl4AI 文档 (v0.5.x)

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 安全性
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值