tmdb、github连不上怎么办?教你永久自动更新hosts教程

1,298次阅读

提醒:本文最后更新于 2025-03-29 19:19,文中所关联的信息可能已发生改变,请知悉!

📕 永久自动更新 hosts 教程:网络自由不翻车!Docker 党必看

✨适合人群:经常遇到 TMDB/Github 连不上、Docker 服务抽风的小伙伴

🌐 教程效果:

  • ✅ 每日自动合并最新 hosts
  • ✅ 一键重启容器生效
  • ✅ 告别手动改 IP 的烦恼

有兄弟说看不懂这个教程,我把原理给你讲清楚,还是不懂你就 deepseek 吧。

群里提供了 4 个原始文件,1 个是获取每天 TMDB 的可用 IP,1 个是获取每天 github 的可用 IP,一个是将这俩文件合并在一起的 combined_hosts 文件,最后一个是用来给定时任务执行更新指令的。说到这些你应该就明白这几个文件的作用了,根据教程把 update_hosts.sh 定时任务保证执行就可以了。

一、准备工作

1. 创建目录结构

在 moviepilot 的 config 文件夹下新建 hosts 文件夹,结构如下:

moviepilot-v2/
└── config/
    └── hosts/
        ├── update_hosts.sh
        ├── tmdb_hosts
        ├── github_hosts
        └── combined_hosts

tmdb、github 连不上怎么办?教你永久自动更新 hosts 教程

文件在群里获取,加站长微信 izspace_cn 或者首页扫描加微信

二、配置 Docker 挂载

1. 修改 docker-compose.yml

在 volumes 部分添加以下挂载配置:

volumes:
  - 你的 MP 目录 /config/hosts/combined_hosts:/etc/hosts/

重要提示:

  • combined_hosts必须是一个文件,而不是目录
  • 如果 combined_hosts 是目录,Docker 会报错

2. 验证配置

进入容器检查 hosts 是否更新:

docker exec -it moviepilot cat /etc/hosts

三、设置定时任务(推荐宿主机方案)

1. 获取 root 权限

sudo -i

2. 编辑定时任务

crontab -e

3. 添加定时任务(每天 6 点执行)

0 6 * * * /bin/bash /tmp/zfsv3/ 你的硬盘名 / 你的手机号 /data/ 你的 Docker 文件夹 / 你的 MP 名 /config/hosts/update_hosts.sh

示例路径:

0 6 * * * /bin/bash /tmp/zfsv3/nvme13/185XXXXXXXX/data/Docker/moviepilot-v2/config/hosts/update_hosts.sh

4. 保存设置

  1. ctrl+o 保存
  2. 按回车确认
  3. ctrl+x 退出

四、验证与检查

1. 验证定时任务

sudo crontab -l  # 确认任务已添加

2. 检查日志

cat /var/log/update_hosts.log

3. 检查文件更新时间

次日查看文件修改时间是否为早上 6 点

⚠️ 注意事项

如果次日发现没有按时更新:

  1. 检查问题原因
  2. 或者删除 hosts 映射目录
  3. 否则可能导致无法连接 MP

✅ 宿主机方案优势:

  • 无需修改容器配置
  • 日志文件存储在宿主机方便排查
  • 与容器生命周期解耦

✨ 小贴士:

遇到问题可以加站长微信 izspace_cn 获取帮助

正文完
 1