使用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
即可
输入刚才设置的密码