首页
群晖容器启动openwrt之后,无法网络访问

问题

闲来折腾,想给群晖上装一个openwrt旁路由,于是docker下载镜像启动,手动选择了“使用高权限执行容器”,结果容器启动后,无法访问群晖了。

刚开始还以为家里网络问题,可以远程登录路由一切正常,就是群晖掉线了。怀疑应该是刚启动的容器修改了宿主网络。

解决

尝试硬重启下群晖看看能否恢复,结果重启过后能连上,但是等到容器一起来又连不上了。到目前已经很明确,就是那个容器的问题。

由于重启后能连上群晖到容器启动有十几秒左右的时间,所以想利用这个时间删掉该容器。

  1. 尝试执行docker rm -f openwrt,可是在容器服务没起来之前这个命令是无法执行的,等到容器服务起来了,就又断网了。

  2. 于是想写一个脚本,等到容器起来后再执行删除命令。

    cat >test_rmi.sh<<EOF
    #!/bin/bash
    
    for i in {1..120}; do
      docker stop openwrt
      docker rm -f openwrt
      sleep 1
    done
    
    systemctl --force --force reboot
    
    EOF
    
    
    nohup sh ./test_rmi.sh &
    

    在重启群晖后,ssh登录系统,然后执行上面的脚步,两分钟后群晖重启,搞定。