docker安装adguard home (macvlan独享ip)
前言
此教程适用于家里有台闲置的、可以长期开机的软路由或支持安装docker的系统使用,目前主流的教程都是bridge端口映射,但这种网络模式局限性非常大(需占用53、67…………等一系列重要的端口),所以才有现在这篇教程
安装docker
如果选择1panel来管理容器则不需要这一步(推荐)
国际
1 | curl -fsSL https://get.docker.com -o get-docker.sh |
国内(这里以清华源为例)
1 | export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce" |
检查是否安装成功
1 | docker version |
安装docker-compose
如果选择1panel来管理容器则不需要这一步(推荐)
1 | curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
1 | chmod +x /usr/local/bin/docker-compose |
1 | ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose |
检查是否安装成功
1 | docker-compose version |
安装1panel(推荐)
更换docker镜像源
这里推荐https://docker.1panel.live
创建网络配置
登录1panel——容器——网络——创建网络
名称自定,网络模式选macvlan
剩下配置按你家实际网络环境填
创建容器
名称:adguardhome
镜像(手动输入):adguard/adguardhome
端口:暴露所有
网络:选择刚才创建的macvlan网络时填的名字
ipv4:你家的局域网空闲的IP,这里我填了192.168.3.254
挂载:
/opt/adguardhome/conf
/opt/adguardhome/work
没提到的不要填
填完后点确认,等待1panel响应后访问容器IP:3000
即可进入安装页
排障
容器启动后仍然无法访问
打开网卡混杂模式
1 | ip link set <主网卡名称> promisc on |
如果还是不行
可以建一个使用相同网络的容器(奇奇怪怪的bug用奇奇怪怪的方法解决😓 )
这个容器不需要跑任何东西,让它保持开着就行,所以1panel创建该容器时可以选alpine容器Entrypoint项里填
1 | 'sleep' 'infinity' |
推荐的上游DNS
https://dns.alidns.com/dns-query
https://cloudflare-dns.com/dns-query
- 不要使用无任何加密的dns,例如直接使用8.8.8.8(中国大陆会搞DNS劫持,例如运营商DNS解析raw.githubusercontent.com就会返回0.0.0.0😓 )
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 butlanys的博客!
评论
WalineGiscus