服务端网络错误
无法激活或订阅已暂停
MT Photos服务端需要访问授权服务器来验证订阅是否过期;
如果您的服务器无法访问网络,会“无法激活”或者提示“订阅已暂停(无法访问授权服务器),请尝试【更新订阅信息】”。
当遇到以上问题时,请按照以下方法解决:
1、检查系统日期是否正确
当系统日期错误时,会导致https请求失败,请修改系统的日期为正确的日期。
2、检查容器内DNS解析是否正常
1、查看容器内的DNS配置
容器的终端内执行以下命令:
cat /etc/resolv.conf
2、测试访问授权服务器
容器的终端内执行以下命令:
wget https://auth.mtmt.tech/license
如果wget https://auth.mtmt.tech/license
返回的数据中有Temporary failure in name resolution.,那么说明dns解析失败了
解决方法
方法1、可以尝试将容器的网络改为host
因为host模式下,容器的dns是与宿主机一致的
如果容器是使用docker-compose创建的,那么需要添加 network_mode: "host"
,比如:
添加时注意每一行文本的缩进,yaml格式对文本缩进有要求
version: "3"
services:
mtphotos:
image: mtphotos/mt-photos:latest
container_name: mtphotos
restart: always
network_mode: "host"
volumes:
- /volume1/docker/mt_photos/config:/config
- /volume1/photos/mt_photos_upload:/upload
- /volume1/xxx/其他需要映射的目录:/photos
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
- PUID=1000
- PGID=100
depends_on:
- mtphotos_ai
mtphotos_ai:
image: mtphotos/mt-photos-ai:onnx-latest
container_name: mtphotos_ai
restart: always
ports:
- 8060:8000
environment:
- API_AUTH_KEY=mt_photos_ai_extra_secret
方法2、创建容器时增加 --dns=114.114.114.114 参数来指定单个容器的DNS
UNRAID可在编辑容器中,点击右上角的高级视图,然后在额外参数中添加;
命令行参数参考:
docker run -d \
--name="mt-photos" \
-v /xxx/mt_photos/config:/config \
-v /xxx/mt_photos/upload:/upload \
-p 8063:8063 \
--dns=114.114.114.114 \
mtphotos/mt-photos
3、修改 /etc/docker/daemon.json 文件来指定所有容器的DNS
{
...,
// 上面为其他的配置,以下为新增的内容
"dns" : [
"114.114.114.114",
"8.8.8.8"
]
}
详细docker的配置可以参考:https://yeasy.gitbook.io/docker_practice/network/dns