【实用Docker教程】Docker-qBittorrent 开启IPv6(适用所有容器)
本文最后更新于 2024-05-17,
若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。
本站只有Telegram群组为唯一交流群组, 点击加入
文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请
启用IPv6条件
安装Docker和docker-compose(安装Docker🐳)
请确保宿主机已经有IPv6地址
你可以采用终端命令的方法来检测。输入以下命令:
sysctl net.ipv6.conf.all.disable
如果返回值为0,说明IPv6已启用。如果返回值为1,则说明你那边的IPv6没启用,这个时候你就得使用排除法,检查你那面的网络情况了,比如路由器配置,防火墙什么的~
配置Docker网络
编辑 /etc/docker/daemon.json ,添加以下内容:(如果没有这个文件直接创建)
vim /etc/docker/daemon.json
我们需要确定自己机器所在的IPv6地址段,想要知道很简单,直接输入查询IPv6路由表信息的命令:ip -6 route show
即可。可以看出它列出了NAS中所有IPv6网络路由信息,包括目标地址、掩码位、网关地址、优先级等。而我们需要的就是上图箭头所示的IPv6地址段(请记住是公网IPv6的,而不是下面的fe80开头的)。
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:abc1::/64", # IPv6前缀可以自定义,请确保符合规则
"experimental": true,
"ip6tables": true
}
这样就给docker默认的bridge网络启用了ipv6,注意此时只有使用bridge这个网络的容器才有ipv6
重启docker
systemctl restart docker
查看docker网络IPv6状态
docker network inspect bridge
测试Docker的IPv6网络
docker run --rm -it busybox ping -6 -c4 www.google.com
能ping通谷歌且能正常看到返回的IPv6地址,即docker的IPv6网络表示正常。
通过docker安装qBittorrent
以下是我的qBittorrent的docker-compose的配置:
version: "2"
services:
qbittorrent:
image: linuxserver/qbittorrent:4.4.1 # 之前很多小伙伴反馈默认latest版本会出现rss功能无法使用的情况,这边还是建议大家选择一个特定的版本(一般PT站点貌似也会推荐特定版本)
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai # 你的时区
- UMASK_SET=022
- WEBUI_PORT=8081 # 将此处修改成你欲使用的 WEB 管理平台端口
volumes:
- /root/qBittorrent/config:/config # 绝对路径请修改为自己的config文件夹
- /root/qBittorrent/downloads:/downloads # 绝对路径请修改为自己的downloads文件夹
ports:
# 要使用的映射下载端口与内部下载端口,可保持默认,安装完成后在管理页面仍然可以改成其他端口。
- 6881:6881
- 6881:6881/udp
# 此处WEB UI 目标端口与内部端口务必保证相同
- 8081:8081
restart: unless-stopped
network_mode: bridge # 网络模式选择刚才配置的桥接 bridge
测试qBittorrent的IPv6网络是否正常:
docker exec qbittorrent ping6 -c4 youtube.com
若是已经安装qBittorrent的话,重新部署下,注意网络模式为: network_mode: bridge
通过这边就可以看到现在已经是支持双栈的了:
如果要使用纯IPv6,则:
下个种子测试,看到peer这里连接的就全部是ipv6地址了。
注意事项
IPv6端口不通,请确保正确配置防火墙,放行相应端口。
请确保docker 的版本大于等于20.10
此方法也可用于其他容器,请注意需要其他容器本身是支持IPv6的。