Files
xiaohongshu-mcp/docker
zy 4ceb2c329f fix: 只用内置浏览器,拿不到就不启动 (#753)
之前未指定 --bin 时不会给 go-rod 传二进制路径,rod 会自行下载并启动一个
默认 Chromium。它与内置浏览器版本不同、编解码器不全,也不认识我们传的
那些启动参数——未知参数被静默忽略,日志照样打印 fingerprint enabled,
属于无声降级,出问题时完全看不出来。

浏览器来源收敛到唯一一处:内置浏览器,准备不出来就不启动。
- NewBrowser 直接调 EnsureBrowser 并显式传路径给 go-rod,失败即 panic
- 删掉 --bin 参数与 WithBinPath:当前平台没有预编译浏览器就是不支持,
  比让用户自己塞一个来路不明的二进制安全
- 不再读 ROD_BROWSER_BIN:那是 go-rod 的环境变量,可能因无关原因被设过
- Dockerfile 把浏览器预置到 Go 端会查的缓存路径,运行时零下载、零参数;
  XDG_CACHE_HOME 相应移出挂载卷,否则预置内容会被挂载盖掉

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 18:21:43 +08:00
..

Docker 使用说明

0. 重点注意

写在最前面。

  • 启动后,会产生一个 images/ 目录,用于存储发布的图片。它会挂载到 Docker 容器里面。 如果要使用本地图片发布的话,请确保图片拷贝到 ./images/ 目录下,并且让 MCP 在发布的时候,指定文件夹为:/app/images,否则一定失败。
  • Docker 镜像内置浏览器,并在构建阶段预下载。请挂载 ./data:/app/data,用于持久化 cookies 和运行数据目录。

1. 获取 Docker 镜像

1.1 从 Docker Hub 拉取(推荐)

我们提供了预构建的 Docker 镜像,可以直接从 Docker Hub 拉取使用:

# 拉取最新镜像
docker pull xpzouying/xiaohongshu-mcp

Docker Hub 地址:https://hub.docker.com/r/xpzouying/xiaohongshu-mcp

1.2 从阿里云镜像源拉取(国内用户推荐)

国内用户可以使用阿里云容器镜像服务,拉取速度更快:

# 拉取最新镜像
docker pull crpi-hocnvtkomt7w9v8t.cn-beijing.personal.cr.aliyuncs.com/xpzouying/xiaohongshu-mcp

1.3 自己构建镜像(可选)

在有项目的Dockerfile的目录运行

docker build -t xpzouying/xiaohongshu-mcp .

xpzouying/xiaohongshu-mcp为镜像名称和版本。

image

2. 手动 Docker Compose

国内用户提示:如需使用阿里云镜像源,请修改 docker-compose.yml 文件,注释掉 Docker Hub 镜像行,取消阿里云镜像行的注释:

# image: xpzouying/xiaohongshu-mcp
image: crpi-hocnvtkomt7w9v8t.cn-beijing.personal.cr.aliyuncs.com/xpzouying/xiaohongshu-mcp
# 注意:在 docker-compose.yml 文件的同一个目录,或者手动指定 docker-compose.yml。

# --- 启动 docker 容器 ---
# 启动 docker-compose
docker compose up -d

# 查看日志
docker logs -f xpzouying/xiaohongshu-mcp

# 或者
docker compose logs -f

查看日志,下面表示成功启动。

image
# 停止 docker-compose
docker compose stop

# 查看实时日志
docker logs -f xpzouying/xiaohongshu-mcp

# 进入容器
docker exec -it xiaohongshu-mcp bash

# 手动更新容器
docker compose pull && docker compose up -d

3. 使用 MCP-Inspector 进行连接

注意 IP 换成你自己的 IP

image

对应的 Docker 日志一切正常。

image

4. 配置代理(可选)

如果需要通过代理访问小红书,可以通过 XHS_PROXY 环境变量配置。

使用 docker run

docker run -e XHS_PROXY=http://user:pass@proxy:port xpzouying/xiaohongshu-mcp

使用 docker-compose

docker-compose.ymlenvironment 中添加 XHS_PROXY

environment:
  - COOKIES_PATH=/app/data/cookies.json
  - HOME=/app/data/home
  - XDG_CONFIG_HOME=/app/data/config
  - XHS_PROXY=http://user:pass@proxy:port

支持 HTTP/HTTPS/SOCKS5 代理。日志中会自动隐藏代理的认证信息,输出示例:

Using proxy: http://***:***@proxy:port

5. 扫码登录

  1. 重要,一定要先把 App 提前打开,准备扫码登录。
  2. 尽快扫码,有可能二维码会过期。

打开 MCP-Inspector 获取二维码和进行扫码。

image image

扫码成功后,再次扫码后,就会提示已经完成登录了。

image