Files
nexus/wiki/sources/n8n-Docker安装与SOCKS5代理配置.md
2026-04-16 13:01:42 +08:00

65 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "n8n Docker 安装与 SOCKS5 代理配置"
type: source
tags: [n8n, docker, socks5, self-hosted, proxy]
date: 2025-12-30
---
## Source File
- [[raw/Agent/n8n docker install & update.md]]
## Summary
- 核心主题n8n Docker 部署并配置 SOCKS5 代理访问外网
- 问题域n8n 容器内网络隔离,需要通过宿主机代理访问 AI APIOpenAI/Claude 等)
- 方法/机制Docker 自定义 Dockerfile 安装 curl/wget + docker-compose ALL_PROXY 环境变量指向宿主机 Docker 网桥 SOCKS5 端口
- 结论/价值:容器内 AI 工作流节点可正常访问被墙或海外服务
## Key Claims
- n8n 容器默认网络隔离HTTP/HTTPS 请求无法直接访问外网 AI 服务
- `ALL_PROXY=socks5://172.21.0.1:10808` 将容器流量路由到宿主机 SOCKS5 代理
- Docker 网桥网关地址(`docker network inspect n8n_default` 中的 Gateway决定宿主机代理监听地址
- 更新 n8n进入 docker-compose 目录 → `docker compose pull``docker compose down``docker compose up -d`
## Key Quotes
> "注意:`172.21.0.1` 需替换为以下命令输出的网桥 IPGateway" — 网桥 IP 因环境而异,必须动态获取
## Key Concepts
- [[Docker 网桥网络]]: Docker 默认 bridge 网络模式,容器通过 `172.17.0.1`Linux`172.18.0.1`/`172.21.0.1`macOS Docker Desktop访问宿主机
- [[SOCKS5 代理]]: 一种代理协议,支持 TCP/UDP 流量转发;`socks5h://` 模式由代理服务器解析 DNS防止 DNS 污染
- [[ALL_PROXY]]: 环境变量HTTP/HTTPS/SOCKS 协议通用代理设置
- [[Docker 自定义 Dockerfile]]: 基于官方镜像安装额外工具curl/wget的标准方式
## Key Entities
- [[n8n]]: 开源工作流自动化平台,支持 543+ 节点,本项目 AI 自动化核心
- [[V2Ray]]: SOCKS5 代理服务端,监听宿主机 `0.0.0.0:10808`
## Connections
- [[n8n-Telegram-Trigger-HTTPS配置修复]] ← relates_to ← [[n8n-Docker安装与SOCKS5代理配置]](同属 n8n 自托管部署实战)
## Contradictions
- 与"n8n 官方推荐直接暴露 5678 端口"不同:本方案通过 Caddy 反向代理隐藏端口,仅暴露 HTTPS 端点
## Docker Compose 关键配置
```yaml
environment:
- N8N_PROTOCOL=https
- N8N_HOST=n8n.ishenwei.online
- WEBHOOK_URL=https://n8n.ishenwei.online/
- N8N_TRUST_PROXY=true
- N8N_SECURE_COOKIE=true
- ALL_PROXY=socks5://172.21.0.1:10808
networks:
n8n_default:
external: true
```
## 容器内测试代理
```bash
docker exec -it n8n /bin/sh
curl --socks5 172.18.0.1:10808 https://ifconfig.me
# 返回国外 IP 即表示代理生效
```
## Tags
- #n8n #docker #proxy #self-hosted