收起左侧

Docker 方式部署 Mihomo 内核服务

0
回复
36
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

项目介绍

Mihomo-Docker-Build : 一个基于 Alpine Linux 的轻量化 Mihomo 容器化构建与部署方案。支持自动化依赖预处理、多环境变量动态配置以及 GitHub Actions 自动化流水线。

官方文档: https://github.com/Dancying/Mihomo-Docker-Build/pkgs/container/mihomo

这个项目不是 Mihomo 的官方项目,使用时需要注意鉴别。

容器运行

以下是来自作者项目说明文档中的运行命令示例:

docker run -d \
  --name mihomo \
  --restart always \
  -p 7890:7890 \
  -p 9090:9090 \
  -v /opt/mihomo/config:/config \
  -e SUB_URL="https://example.com/sub?token=123" \
  -e UPDATE_INTERVAL=6 \
  -e ALLOW_LAN="true" \
  -e MIXED_PORT=7890 \
  -e MIHOMO_MODE="Rule" \
  -e IPV6="false" \
  -e WEBUI_LISTEN_ADDR="0.0.0.0:9090" \
  -e WEBUI_SECRET="secret123456" \
  ghcr.io/dancying/mihomo:latest

环境变量

以下是 docker 运行命令中各环境变量的说明

环境变量 默认值 描述
SUB_URL 你的订阅/节点链接(例如:https://example.com/sub )。
UPDATE_INTERVAL 订阅自动更新间隔时间(单位:小时,例如:6)。若不配置则不会启用自动定时更新功能。
ALLOW_LAN 是否允许局域网外部访问(可选值:truefalse)。
MIXED_PORT 动态修改或置顶混合代理端口(例如:7890)。
MIHOMO_MODE 动态修改运行模式(可选值:Rule, Global, Direct)。
IPV6 动态修改 IPv6 总开关(可选值:truefalse)。
WEBUI_LISTEN_ADDR 0.0.0.0:9090 Web UI 控制面板的监听地址与端口。
WEBUI_SECRET 随机生成 Web UI 控制面板的外部控制访问密钥(密码)。若不指定则在每次容器启动时随机生成,可通过查看容器启动日志获取。

Docker 运行

作者文档提供的运行命令中,有很多参数一般情况下可以不使用,简化后的运行命令如下:

docker run -d \
  --name mihomo \
  --restart always \
  -p 7890:7890 \
  -p 9090:9090 \
  -v /opt/mihomo/config:/config \
  -e SUB_URL="https://example.com/sub?token=123" \
  -e WEBUI_SECRET="secret123456" \
  ghcr.io/dancying/mihomo:latest

需要将 SUB_URL 右边的链接地址改为你自己的订阅链接地址;

容器运行后可以通过访问 http://127.0.0.1:9090/ui 访问 WEB 面板;

WEB 面板的后端地址先删除默认的值,然后点击输入框会提供下拉选项,一般选择第二个;登录密码为 WEBUI_SECRET 环境变量的值

镜像托管在 GHCR 上,国内网络一般无需代理也能拉取镜像(部分时间段拉取镜像会有点慢);


以下是具体参数的使用解释:

  • --name : 指定容器名称,如果需要运行多个容器可以用来区分容器,例如 --name mihomo-demo1--name mihomo-demo2 等;
  • --restart : 设置启动方式,值为 always 会开机自启;
  • -p : 处理端口映射,左边是主机端口(浏览器或其他外部服务访问的端口),右边是容器内端口(容器内部服务运行的端口);
  • -v : 挂载主机目录到容器内部,一般用来保存容器内生成的数据、配置,该容器使用 /config 目录保存应用数据;
  • -e : 传入环境变量值,环境变量由容器内的应用读取并处理,环境变量名称由作者自由设定;

容器环境变量说明:

  • -e SUB_URL : 订阅链接地址,提供该环境变量后容器会向该链接地址发起请求并获取对应的 yaml 配置,该环境变量是可选的;
  • -e WEBUI_SECRET : WEB 面板的登陆密码,如果不传入则容器内会自动生成密码(可以查看容器日志获取生成的密码);
  • -e UPDATE_INTERVAL : 订阅链接更新间隔时间(小时),部分订阅链接需要定时更新否则配置会失效,如果不传入订阅链接变量 SUB_URL 则定时更新不会生效;
  • -e ALLOW_LAN : 是否允许局域网访问代理(非 WEB 面板),多数订阅配置默认值为 true ,如果不为 true 则需要传入并设置该变量为 true 否则无法访问代理;
  • -e MIXED_PORT : 混合代理(http 、 https 、 socks)端口,一般默认为 7890 ,也可以修改为喜欢的端口(需要同步调整 -p 参数右边的端口值);
  • -e MIHOMO_MODE : mihomo 内核代理模式,一般为 rule 模式,多数情况下无需修改;
  • -e IPV6 : 是否开启 ipv6 访问,部分网站可以使用 ipv6 访问,需要节点服务器和自身网络支持 ipv6 网络才建议开启;
  • -e WEBUI_LISTEN_ADDR : WEB 面板的监听地址和端口,默认是 0.0.0.0:9090 无需修改,如果修改端口则需要同步调整 -p 参数右边的端口值;
收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则