• 🎉小站の店正式开业试营运,欢迎大家捧场&反馈
  • 订阅小站 TG频道获取更多小福利
  • 欢迎访问小站,如果您觉得本站还不错,请Ctrl+D 收藏本站
  • 任何虚假邮箱的留言评论将一律不通过,你的邮箱不会被公开,请放心留言交流
  • 网站今后如果无法访问,请自行使用代理访问
小站公告
  1. 🎉小站の店正式开业试营运,欢迎大家捧场&反馈
  2. 订阅小站 TG频道获取更多小福利
  3. 欢迎访问小站,如果您觉得本站还不错,请Ctrl+D 收藏本站
  4. 任何虚假邮箱的留言评论将一律不通过,你的邮箱不会被公开,请放心留言交流
  5. 网站今后如果无法访问,请自行使用代理访问

THE JOURNAL · Tech

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

CrazyJoe更新于 2020.10.014,263 阅读♡ 19 赞4 条讨论

阅读原文 · 关注 Telegram 频道

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

Before We Start

In order to follow this guide, I assume you already have:

  1. A machine which is running Openwrt/LEDE in docker
  2. Already install the portainer to manage the docker image

I will use Phicomm N1 as an example.

Backup Your Setting

Login to your Openwrt dashboard and select backup/flash firmware under the system section. Make a backup of your current setting.

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

Upload Your Local Image

Use SCP or FTP tool to upload your local image to your N1 /root folder

Import and Config Openwrt

Use following command to import the image to the docker

CODE
docker import [your file name] openwrt:[your own tag]

ip link set eth0 promisc on

## X equals to your main router gateway (if your main router is 192.168.123.1, then X=123)

docker network create -d macvlan --subnet=192.168.X.0/24 --gateway=192.168.x.1 -o parent=eth0 macnet

docker run --restart always -d --network macnet --privileged openwrt:[your own tag] /sbin/init

Login to your portainer control panel and choose Local—containers

Delete your old OpenWrt image(you will lose internet connection temporarily), then select fourth option  on the new OpenWrt image and choose connect

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

CODE
vi /etc/config/network

## Keyboard input i to enable edit
## Change the third number to your main router gateway
## Save and Exit
## Keyboard input ESC to exit edit
:wq

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

Restart your OpenWrt image and it’s done


中文教程由此开始

开始之前

为了跟随此教程,我默认你已经有了

  1. 一台Docker运行OpenWrt/LEDE固件的机器
  2. 已经安装portainer用于管理Docker镜像文件

在此教程中,我使用斐讯N1作为旁路由为例

备份设置

登录你现在的OpenWrt固件后台,并在系统选项下选择备份/更新,备份现有设置

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

上传本地镜像

利用SCP或者FTP工具上传本地的镜像文件到N1的/root目录下

导入并设置OpenWrt

用以下命令将本地镜像导入Docker

CODE
docker import [your file name] openwrt:[your own tag]

ip link set eth0 promisc on

## X 等于你主路由的网段 (例如你的主路由地址是 192.168.123.1, 那么X=123)

docker network create -d macvlan --subnet=192.168.X.0/24 --gateway=192.168.x.1 -o parent=eth0 macnet

docker run --restart always -d --network macnet --privileged openwrt:[your own tag] /sbin/init

登录你的portainer后台并选择容器

删除你之前的OpenWrt镜像(你会暂时失去网络连接),并在新导入的镜像上选择第四项,并连接

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

CODE
vi /etc/config/network

## 键盘输入 i 开启编辑
## 将以下栏目的第三个数字改为你的主路由网段地址
## 保存并退出
## 键盘输入ESC退出编辑模式
:wq

How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

重启OpenWrt镜像完成配置

Video Tutorial | 视频教程

Youtube

Bilibili

https://www.bilibili.com/video/BV1hE411M75V/


xzの小站 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:How to Import Local OpenWrt/LEDE Image into Docker | 如何Docker本地导入升级Openwrt路由器固件

如果这一期对你有帮助

每一次支持,都在帮助这个小站继续更新。量力而行,感谢相伴。

支付宝 支付宝支持作者二维码或图片 一杯咖啡,也是鼓励
微信 微信支持作者二维码或图片 一杯咖啡,也是鼓励
PayPal PayPal支持作者二维码或图片 一杯咖啡,也是鼓励 前往支持 ↗

THE CONVERSATION

一起聊聊4

认真分享 · 友善交流

留下你的想法

无需注册。邮箱不会公开,不会发送订阅或回复邮件。游客评论审核后展示。

支持 **加粗**、*斜体*、`代码`、引用、列表与链接。不支持任意 HTML。

点击发布评论后将自动进行 Cloudflare Turnstile 验证,必要时会提示交互。

读者讨论

最新话题优先 · 回复按时间排列
  1. zxd游客

    有没有本地的openwrt镜像包

    回复 ↗
    1. CrazyJoe作者

      随便去任意论坛、Github或者各种群组搜你对应机器或同架构的,大佬们编译好的镜像自己刷入即可

      回复 ↗
  2. oopssky游客

    出现以下错误怎么破?
    caec62e3ba76df2021581b5f3d1e5554fda3e34be0657f28ee6d2913f115d0a2
    docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"/sbin/init\": stat /sbin/init: no such file or directory": unknown.

    回复 ↗
    1. CrazyJoe作者

      docker run的时候出现的嘛?进portainer查下对应的镜像导入成功没,之后再检查下镜像名称和tag输入的对不对

      回复 ↗