|
|
本帖最后由 开始懂了~ 于 2020-1-9 23:05 编辑
经过烦躁的折腾阶段,已经成功实现Armbian运行docker版本的各个应用。比如openwt实现旁路由,我用的是主路由开启DNS指向N1,N1关闭DHCP网关指向主路由。这个方案在旁路由上成功实现了。主路由的hanwckf的padavan nano版本。现阶段实现docker运行pi-hole过滤DNS,可以基本实现手机app去广告,玄学的某七一去不掉!
总结前几天焦虑的原因还是心太急,没有认真阅读教程就着急动手,以前自己说别人的东西到自己身上全部忘记。
失败的原因也很简单,对应的教程没有去刷对应的Armbian版本,导致很多命令重复,很多功能重叠。docker里的建立的容的名字不同,因此命令不同,自然无法运行。
经过这几天的总结,其实折腾起来很简单,会的不难,难的不会。所谓的Armbian运行的docker的核心就是两个部分:
1.拉取镜像,可以是ssh命令在线拉取,也可以是用MobaXterm_CHS导入;
2.在容里运行镜像文件,portainer图形界面可以看到对应的镜像绿色,为我前面所描述的Running状态。
再就是网络设置有点复杂,我至今没有弄明白。在这里借这个发牢骚的帖子请教几个进阶的问题:
1.关于Armbian的网络设置配置:
教程说:
输入ip link set eth0 promisc on回车开启网卡的混杂模式——————这个模式重启会失效
教程说解决方案:
N1重启网卡混杂模式会失效,需设为永久开启
解决方案是修改/etc/network/interfaces文件:(谨慎操作,可能导致armbian永远无网络)
auto eth0
iface eth0 inet manual
up ip link set eth0 promisc on
auto macvlan
iface macvlan inet static
address 192.168.12.104→修改成你需要的
netmask 255.255.255.0
gateway 192.168.12.1→需改成你的主路由ip或192.168.12.5(旁路由的ip)
dns-nameservers 192.168.12.1→需改成你的主路由ip或12.5或再加1个公共dns比如114
pre-up ip link add macvlan link eth0 type macvlan mode bridge
post-down ip link del macvlan link eth0 type macvlan mode bridge
以上引用为教程原文,加粗部分在我自己的/etc/network/interfaces文件中并不存在,并且我自己的文件是不一样的:
# Wired adapter #1
allow-hotplug eth0
no-auto-down eth0
iface eth0 inet dhcp
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
# hwaddress ether # if you want to set MAC manually
# pre-up /sbin/ifconfig eth0 mtu 3838 # setting MTU for DHCP, static just: mtu 3838
# Wireless adapter #1
# Armbian ships with network-manager installed by default. To save you time
# and hassles consider using 'sudo nmtui' instead of configuring Wi-Fi settings
# manually. The below lines are only meant as an example how configuration could
# be done in an anachronistic way:
#
#allow-hotplug wlan0
#iface wlan0 inet dhcp
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
没错,我有两个网卡信息,而且教程里面的auto macvlan 不存在。无论我修改哪个都没有作用,可以修改成,但是无效。
导致的问题就是拉取镜像操作:
docker pull adguard/adguardhome:arm64-latest
出现
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
拉取镜像失败是否与网络设置有关?如何解决?
2.关于图形管理portainer的问题:
按照教程输入:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:linux-arm64
可以成功实现IP:9000进入图形管理界面,但是重启N1后失效,表现为页面空白,不提示进入,也不提示失败。
解决方法是再次进入ssh,重复输入上面的命令。再次进入portainer后可以看到容里面有一个关闭的portainer选项,可以删除。每次用这个命令进入均可以进入portainer界面,但是都会有一个失败的容。
每次进入重复命令肯定是问题,如何解决?
|
|