解决LEDE无法下载Docker环境的问题之uhttpd

Linux, 折腾 2019/05/29

之前尝试在VPS上搭建假的download.docker.com网站,来解决koolshare版lede在部署docker环境时,遇到的 错误代码:-6 的问题

而OpenWRT自带一个uhttpd工具可以作为http服务端,所以可以利用这个工具在路由器上搭建一个假的download.docker.com网站来解决无法部署的问题。以便那些手里没有服务器或者VPS的朋友。

1.下载docker环境

注:这里我测试了半天,插件好像不会自动分析最新的docker版本,它会指定 18.09.1 docker版本进行下载部署,而不是最新版。当我写这篇文章时,docker最新版为18.09.6 :doge: 

开搞~

电脑端打开 https://download.docker.com/linux/static/stable/x86_64/docker-18.09.1.tgz 

放置到LEDE下任意目录,比如/mnt/msata/bugxia/linux/static/stable/x86_64/docker-18.09.1.tgz

可以在SSH下快速建立该路径

mkdir -p /mnt/msata/bugxia/linux/static/stable/x86_64/

2.修改LEDE host文件

打开LEDE管理页面,左侧 系统 — 进阶设置,在配置hosts里添加两行

0.0.0.0 download.docker.com

::1 download.docker.com

让路由器能将 download.docker.com 解析到路由器自身上,保存host使之生效

3.建立假的docker网站

首先修改/etc/config/uhttpd,将默认的LEDE管理页面https端口改为444或其他,目的是将443端口空出来

保存,重启uhttpd服务

/etc/init.d/uhttpd restart

然后以命令行方式单独启动uhttpd,回车使其前台运行

/usr/sbin/uhttpd -f -h /mnt/msata/bugxia -s 443 -C /etc/uhttpd.crt -K /etc/uhttpd.key

参数释义:-f 前台运行 -h 网站目录 -s https端口 -C https证书 -K https密钥

其中 /mnt/msata/bugxia 路径即为上述保存 docker-18.09.1.tgz 的根路径

4.测试

wget --no-check-certificate https://download.docker.com/linux/static/stable/x86_64/docker-18.09.1.tgz

5.开始部署docker环境

完美通过

6.收尾工作

结束当前SSH端运行的uhttpd,然后修改/etc/config/uhttpd,将刚刚修改过的https端口444改回原本的443

回到SSH,输入命令重启uhttpd服务

/etc/init.d/uhttpd restart


评论(*号为必填项)