forum.gl-inet.cn

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
    12
    返回列表 发新帖
    楼主: Alonewader

    [问题反馈] 新手入坑求助:MT3000 Docker 容器无法内网访问

    [复制链接]

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-20 23:03:00 | 显示全部楼层
    Oasis.cn 发表于 2025-1-20 22:44
    让你到Dcokerman项目官网下载的是luci-lib-docker和luci-app-dockerman,那里哪来的luci-in-docker???你 ...

    看来是我搞错了。
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-20 23:04:31 | 显示全部楼层
    Oasis.cn 发表于 2025-1-20 22:44
    让你到Dcokerman项目官网下载的是luci-lib-docker和luci-app-dockerman,那里哪来的luci-in-docker???你 ...

    看来是我搞错了
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-20 23:40:18 | 显示全部楼层
    Oasis.cn 发表于 2025-1-20 22:34
    你找的docker安装步骤能不能仔细看一下,你搜的教程所谓安装luci-in-docker,指的是给x86平台Linux下安装lu ...

    只运行这个run文件就可以了吗?不需要分别安装那两个ipk,是吗?我刚才分别安装两个ipk后网桥还是不通,且dockerman里的网络界面也是代码。在此之前,运行run文件也是如此,相反安装官方的dockerma则不会是代码。不知道问题在哪,可能还有别的问题。
    感谢!
    回复

    使用道具 举报

    3

    主题

    112

    帖子

    1364

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1364
    发表于 2025-1-21 00:25:55 | 显示全部楼层
    Alonewader 发表于 2025-1-20 23:40
    只运行这个run文件就可以了吗?不需要分别安装那两个ipk,是吗?我刚才分别安装两个ipk后网桥还是不通, ...

    这是我最后一个对你问题的解答回复了!所有问题原因、解决思路我都说的详细的不能再详细了,解决的步骤也每个字说的不能再清晰了。我说的步骤你基本上没一个照办的,总有添油加醋和网上一堆摸索乱配置改乱的MT3000配置。针对你这条我最后一次解答,你的mt3000软件仓库源被你配置成了错误的非glinet官方仓库源,明显是openwrt 23或24内核仓库源,网上99%小白都是乱配仓库源导致一堆莫名其妙无法适配自己路由器固件内核的问题,你现在问题是因为源的更改,dockerd被错误的更新成23或24内核的最新版,我中间帖子已经说的很清楚了,dockerd用glinet官方源针对自己硬件编译的21内核版本,混装内核版本的dockerd会造成网络页报错(就是你说的那个错误页面,核心就是错用插件,不是适配你的硬件网络接口配置编译的当然报错)
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-21 08:08:21 | 显示全部楼层
    Oasis.cn 发表于 2025-1-21 00:25
    这是我最后一个对你问题的解答回复了!所有问题原因、解决思路我都说的详细的不能再详细了,解决的步骤也 ...

    感谢回复!

    我理解了,可能就是我在部署之前就添加了第三方源,导致dockerd内核高于21。
    安装步骤是:
    1、安装官方源里的dockerd。
    2、先后安装GitHub上的luci-lib-docker和luci-app-dockerman。
    以上对吗?
    另外,如果直接运行你做的RUN文件,是否就是步骤2?
    还有一个问题,如果不添加第三方源,安装dockerd时会提示缺少依赖,这个怎么解决?即便我添加了第三方源,提示可以安装(依赖齐全),但安装完成后还是会报错,但可以正常使用。
    烦请这位热心朋友再回复一下。
    不胜感谢!
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-21 08:16:52 | 显示全部楼层
    Oasis.cn 发表于 2025-1-21 00:25
    这是我最后一个对你问题的解答回复了!所有问题原因、解决思路我都说的详细的不能再详细了,解决的步骤也 ...

    这是我现在已安装的docker组件,dockerd的版本号是27,确实不是21。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    点评

    你这里面2、4都卸载移除掉,然后重新恢复软件源为gilnet官方源(自己在论坛能找到),然后把我run附件sh再执行一遍就都好了  发表于 2025-1-21 08:40
    回复

    使用道具 举报

    3

    主题

    112

    帖子

    1364

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1364
    发表于 2025-1-21 08:33:15 | 显示全部楼层
    Alonewader 发表于 2025-1-21 08:08
    感谢回复!

    我理解了,可能就是我在部署之前就添加了第三方源,导致dockerd内核高于21。

    看你这么认真整理,破例回复

    a、只要确保你的mt3000是glinet官方固件恢复出厂后干净的系统,只要你按我1、2两个手工操作安装步骤,docker服务就起来了,且设备重启后docker服务自启,后面只需注意如果设备充当网关路由器(当然这是95%以上这么用的),则容器必须用host参数模式创建;
    b、给你的run脚本是全自动docker安装脚本,还是确保你的mt3000是glinet官方固件恢复出厂后干净的系统(未动软件源定义,也未乱装高于21版依赖库)前提下,直接sh执行则全自动安装docker(用国内运营商网络就可以,所有会qiang的依赖库和插件包都已封装在run文件中)。选择执行run附件的这条路,则不用手工再去执行1、2两步
    c、至于你说怎么切换第三方源的问题,你不会先把原厂源url先都备份下,临时用第三方源加进去,不用了再恢复不就好了。另外,尝试网上经验时,请先确保你看懂了原理和步骤,以及网友测试的设备是否跟你的相同或openwrt内核相同,这不是玩苏式设备有问题拿个榔头乱敲一气就能好,不沉下心搞清基本原理和技术,你试乱试一千遍,一千遍都会撞南墙那是大概率
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-21 08:51:48 | 显示全部楼层
    Oasis.cn 发表于 2025-1-21 08:33
    看你这么认真整理,破例回复

    a、只要确保你的mt3000是glinet官方固件恢复出厂后干净的系统,只要你按我1 ...

    非常感谢这么及时的回复!

    我还想知道两个问题:
    1、你的run脚本包含了所有的docker组件(包括dockerd),还是GitHub上的两个ipk?
    2、这点十分重要,如你a点所说,如果路由器是网关路由器(二级路由,有网关),则必须用host模式创建。而我的正是如此,则意味着只能用host,但我的其他设备也是网关路由器,却可以正常创建、使用网桥模式,不明白为什么?
    还是请你回复上述两个问题。
    帮了我这么多,表示感谢都显得苍白无力!
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-21 08:55:42 | 显示全部楼层
    Oasis.cn 发表于 2025-1-21 08:33
    看你这么认真整理,破例回复

    a、只要确保你的mt3000是glinet官方固件恢复出厂后干净的系统,只要你按我1 ...

    我刚才移除并重装docker组件,dockerd内核是21,部署网桥容器后确实不能用。
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-21 09:03:29 | 显示全部楼层
    Oasis.cn 发表于 2025-1-21 08:33
    看你这么认真整理,破例回复

    a、只要确保你的mt3000是glinet官方固件恢复出厂后干净的系统,只要你按我1 ...

    这是我移除并重装后的docker组件,docker、dockerd的版本都是20,网络界面正常,但还是只能用host。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    3

    主题

    112

    帖子

    1364

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1364
    发表于 2025-1-21 09:13:35 | 显示全部楼层
    Alonewader 发表于 2025-1-21 08:51
    非常感谢这么及时的回复!

    我还想知道两个问题:

    1、docker内核dockerd和其一堆依赖加一起太大,加之官方源所有文件都有,索性run只封装了被qiang的dockman最新主文件和lib库依赖,同时还封装了适配最新版dockman中文语言包(这个网上你不一定找得到),其他都是让其搜索gilnet官方库源检索glinet专门给自己设备编译定制的插件和依赖库。所以我这个run脚本执行的环境必须是glinet原厂的源,你若换成第三方openwrt23内核以上的则自动会装第三方源里dockerd版本,大概率不适配MT3000或MT2500
    2、你别忘了你用的是glinet官方给自己设备在2022年左右编译的基于21内核的dockerd,那时候docker源代码中留下的bug,你还能跟现在最新版已fix的问题去纠结么?现在glinet已经闭源了,且他们后面又修改了网络接口底层定义,你没最新glinet源代码你自己做不了dockerd再编译
    回复

    使用道具 举报

    1

    主题

    19

    帖子

    55

    积分

    注册会员

    Rank: 2

    积分
    55
     楼主| 发表于 2025-1-21 09:26:02 | 显示全部楼层
    Oasis.cn 发表于 2025-1-21 09:13
    1、docker内核dockerd和其一堆依赖加一起太大,加之官方源所有文件都有,索性run只封装了被qiang的dockma ...

    感谢大佬朋友的耐心解答、热心帮助!

    明白了,我不管这么折腾,在网关路由器上只能用host模式,事实上也是如此。

    万分感谢!给你拜个早年!祝你新春大吉!新年顺遂!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|gl-inet.cn ( 粤ICP备18130956号 )

    GMT+8, 2025-3-12 12:40 , Processed in 0.024431 second(s), 23 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表