From b93daff535b13f26531f6b5b1f8e3ee541d8c020 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Wed, 26 Nov 2025 12:25:05 +0000 Subject: [PATCH] docs: add TUN mode configuration guide and docker-compose option - Update README.md with instructions for TUN mode network configuration - Add network_mode: host option to docker-compose.yml comments --- README.md | 34 ++++++++++++++++++++++++++++++++++ docker-compose.yml | 6 ++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 962dbf8..71d9486 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,40 @@ docker-compose up -d 这样,你就可以在其他规则中管理收藏夹的规则,所有操作都会同步到 **转发收藏夹** 规则中。 +--- + +#### 5. 开启 TUN 模式后的网络配置 + +开启 tun 模式后,容器内可以使用代理,但外部无法访问容器内服务,解决方法如下: + +**简单方法:** + +以 host 网络模式重新创建容器,例:`docker run --network host nginx`。 +在本项目中,只需在 `docker-compose.yml` 中取消 `network_mode: host` 的注释即可。 + +**复杂方法:** + +若容器网络是 docker0,忽略这一步,否则先排除接口。 + +1. 获取代理地址: + ```bash + # 将 allow-lan 修改为 true(注意设置用户验证) + clashmixin -e + + # 将输出的代理地址中的ip修改为宿主机内网ip,例:http://username:password@192.168.13.115:7890 + echo $http_proxy + ``` + +2. 为容器配置代理地址: + ```bash + # 持久化:重新创建容器时,指定代理环境变量,例: + docker run -e http_proxy="http://username:password@192.168.13.115:7890" nginx + + # 临时:进入容器时,指定代理环境变量,例: + docker exec -e http_proxy=xxx nginx bash + ``` + + ## 🛠️ 功能详解 ### ⚡ 过滤流程 diff --git a/docker-compose.yml b/docker-compose.yml index 758803a..c5150a7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,9 +6,12 @@ services: # ports: # - 9804:8000 restart: unless-stopped + # 如果服务器采用了tun代理模式,请取消以下注释,保持上方port注释 + network_mode: host # tun模式关键配置 + env_file: + - .env volumes: - ./db:/app/db - - ./.env:/app/.env - ./logs:/app/logs - ./sessions:/app/sessions - ./temp:/app/temp @@ -24,4 +27,3 @@ services: compress: "true" stdin_open: true tty: true -