Linux下使用Docker运行OpenWrt系统

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

1、准备Linux环境

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

2、安装Docker容器

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

3、拉取OpenWrt镜像

拉取命令:

docker pull openwrtorg/rootfs

拉取好后查看镜像
有红色框框里面的镜像就OK
Linux下使用Docker运行OpenWrt系统_第1张图片

4、运行镜像实例

有两种方式

1 使用镜像提供者命令:

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

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

尝试运行该命令进入实例:
Linux下使用Docker运行OpenWrt系统_第2张图片
出现提示符,这是关于缓冲区的提示,直接回车
Linux下使用Docker运行OpenWrt系统_第3张图片
此时已经成功进入容器,可以使用openwrt有关的命令,比如opgk
Linux下使用Docker运行OpenWrt系统_第4张图片
该种方法无法访问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

Linux下使用Docker运行OpenWrt系统_第5张图片
出现这样子就是进入openwrt内部了 使用exit命令退出到宿主机(退出不会暂停容器)

安装图形化web界面

首先更新opkg

opkg update

Linux下使用Docker运行OpenWrt系统_第6张图片
这样就是更新成功,然后安装luci

opkg install luci

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

一定要先更新软件列表再安装luci,否则可能会报错!
Linux下使用Docker运行OpenWrt系统_第7张图片
这样就是安装成功了。

安装web汉化包

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

opkg install luci-i18n-base-zh-cn

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

开启web服务

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

passwd

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

启用服务:

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

Linux下使用Docker运行OpenWrt系统_第8张图片
现在就可以访问web页面了,记得加上你映射的端口号

比如我这里是映射宿主机的85端口到实例的80,所以访问
http://4*.1**.1**.1**:85
即可
Linux下使用Docker运行OpenWrt系统_第9张图片
输入刚才设置的密码
Linux下使用Docker运行OpenWrt系统_第10张图片

你可能感兴趣的:(centos,docker,linux)