跳到正文
SL Blog 技术探索 · 工程实践 · AI 时代思考
返回
⚙️ n8n Docker 部署 · 4 / 9 查看系列简介 →

n8n Docker 部署(三):Mihomo 代理容器部署

文章目录
  1. 概述
  2. 订阅转换与生成配置
  3. 使用 Docker Compose 部署
  4. 验证与联动
  5. 常见问题

📌 本文是「n8n Docker 部署」系列第 三 篇 · 系列目录

概述

当宿主机尚未运行代理服务时,可使用容器化方式快速部署 Mihomo 并为 n8n 提供出站代理能力。

订阅转换与生成配置

在用户主目录准备目录与订阅转换文件:

mkdir -p ~/mihomo && cd ~/mihomo
curl -L -o config.yaml "https://api.v1.mk/sub?target=clash&url=<你的原始订阅链接>"
ls -lh config.yaml  # 确认文件尺寸为几 KB 或几十 KB,非 0

如转换文件未包含必要字段,请在 config.yaml 顶部检查或补充:

mixed-port: 7890
allow-lan: true
external-controller: 0.0.0.0:9090

使用 Docker Compose 部署

在 ~/mihomo 目录下创建或追加 docker-compose.yml:

version: '3.8'
services:
  mihomo:
    image: ghcr.io/MetaCubeX/mihomo:latest
    container_name: mihomo
    restart: always
    ports:
      - "7890:7890"   # 代理端口
      - "9090:9090"   # 控制端口(可选)
    volumes:
      - ./config.yaml:/config.yaml:ro
    command: -f /config.yaml

启动并查看日志:

docker-compose up -d
docker-compose logs -f mihomo

日志显示节点可用、端口监听成功,表示代理容器部署完成。

验证与联动

在宿主机验证代理连通性:

curl -I -x http://127.0.0.1:7890 https://example.com

如返回 200,可在 n8n 的 Compose 中设置:

environment:
  - N8N_USE_PROXY=true
  - HTTP_PROXY=http://172.17.0.1:7890
  - HTTPS_PROXY=http://172.17.0.1:7890
  - NO_PROXY=localhost,127.0.0.1,<你的服务器IP>,mirror.ccs.tencentyun.com

常见问题

  • 配置文件尺寸过小或为 0:确认转换链接有效,确保订阅包含节点
  • 端口冲突:修改 ports 映射或释放被占用端口
  • 连通性失败:宿主机与容器内分别验证,检查变量拼写与订阅有效性

RAG 智能问答

针对本文继续提问:《n8n Docker 部署(三):Mihomo 代理容器部署》