Linux下使用Docker运行OpenWrt系统

使用Docker运行虚拟的OpenWrt系统,很适合初学者调试系统和学习Luci界面的编辑

1、准备Linux环境

可以是虚拟机,可以是远程云服务器。
本文系统是Centos 7.6

2、安装Docker容器

如何安装和使用请另行学习,本文默认你已经安装好了docker和会使用基本命令

3、拉取OpenWrt镜像

拉取命令:

docker pull openwrtorg/rootfs

拉取好后查看镜像
有红色框框里面的镜像就OK
在这里插入图片描述

4、运行镜像实例

有两种方式

1 使用镜像提供者命令:

docker run --rm -it openwrtorg/rootfs:x86-64

带参数 --rm 说明运行的实例为一次性实例,一旦实例停止就会被自动删除
带 -it 会立即进入容器内部,而不是后台运行

尝试运行该命令进入实例:
在这里插入图片描述
出现提示符,这是关于缓冲区的提示,直接回车
在这里插入图片描述
此时已经成功进入容器,可以使用openwrt有关的命令,比如opgk
在这里插入图片描述
该种方法无法访问web管理页面,因为没有映射端口,而且一次性不能暂停容器,这就要使用第二种方式运行

2 持久运行并映射端口访问web管理页面

使用命令:

docker run -d -p 85:80 openwrtorg/rootfs:x86-64

在这里插入图片描述
-d 表示后台运行 -p 85:80 表示映射宿主机的85端口到实例的80上,这样浏览器访问 宿主机IP:85 就可以访问实例的web页面了
没有了rm 参数,该实例暂停也不会自动删除

进入容器
docker exec -it [实例ID前四位] /bin/sh

实例ID可以通过 ps 命令查看。上图我的实例ID开头就是7025

在这里插入图片描述
出现这样子就是进入openwrt内部了 使用exit命令退出到宿主机(退出不会暂停容器)

安装图形化web界面

首先更新opkg

opkg update

在这里插入图片描述
这样就是更新成功,然后安装luci

opkg install luci

会下载相关依赖,比如web服务器uhttpd,耗时比较久,耐心等待。

一定要先更新软件列表再安装luci,否则可能会报错!
在这里插入图片描述
这样就是安装成功了。

安装web汉化包

默认的web管理界面是没有中文的,我们可以主动安装中文语言包

opkg install luci-i18n-base-zh-cn

命令很快,这样即安装成功了。
在这里插入图片描述

开启web服务

现在要开启web服务器了。首先我们要重新设置一下密码 输入

passwd

默认是没有密码,直接输入两次新密码就好。密码不会显示,直接按键盘就行。

启用服务:

/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start

在这里插入图片描述
现在就可以访问web页面了,记得加上你映射的端口号

比如我这里是映射宿主机的85端口到实例的80,所以访问
http://4*.1**.1**.1**:85
即可
在这里插入图片描述
输入刚才设置的密码
在这里插入图片描述

  • 11
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
要在Docker运行OpenWrt,你可以按照以下步骤进行操作: 1. 创建一个虚拟网络,可以使用以下命令创建一个名为macnet的虚拟网络: ``` docker network create -d macvlan --subnet=192.168.123.0/24 --gateway=192.168.123.1 -o parent=eth0 macnet ``` 注意:根据你家里的IP地址,你可能需要调整子网信息。 2. 准备OpenWrt镜像,并生成并启动相应配置好的容器。使用以下命令: ``` docker run --restart always -d --network macnet --privileged 相应镜像名 --name opwrt ``` 其中,--network后面是上面创建的网络名称,--privileged后面是你安装的OpenWrt镜像名称,--name后面是你自定义的容器名称(这里以opwrt为例)。 3. 如果你想将容器的80端口映射到宿主机的85端口,可以使用以下命令: ``` docker run -d -p 85:80 相应镜像名 ``` 这样,通过浏览器访问宿主机的IP地址加上端口85,就可以访问OpenWrt的web页面了。 4. 如果你需要进入容器内部,可以使用以下命令: ``` docker exec -it \[实例ID前四位\] /bin/sh ``` 这将进入容器的shell环境,你可以在其中执行命令和操作容器。 希望这些步骤能帮助你成功在Docker运行OpenWrt。 #### 引用[.reference_title] - *1* *2* [在docker使用opwrt](https://blog.csdn.net/sinat_41804364/article/details/106921147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux使用Docker运行OpenWrt系统](https://blog.csdn.net/weixin_46394311/article/details/117735291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值