原来是用群晖架设的Docker。也是非常的方便。
不过群晖是内部使用,开放到外网,即使我开了防火墙,也是很担心。
所以又搞了一个Openwrt来安装Docker。
一.安装
我是直接在物理机上安装的Docker。我的物理机是X86架构的。所以需要从官网下载target为x86的。下载地址如下,记得下载稳定版,我下载的是测试版。里面还有些区分。一般来说只要无脑选择第一个就可以。
立即下载二.安装
将下载下来的镜像,通过解压工具,解压后得到一个img文件。使用写盘工具Etcher,将该镜像写入到硬盘。这里我是用了一个SSD硬盘,将它通过USB硬盘盒。连接到电脑。通过Etcher写入的。
三.初始化
写入完成后,将硬盘插入到电脑中。开机从该硬盘启动。如果一切顺利的话,此时应该可以看到openwrt启动了。
A. 进入系统后,通过passwd命令为root用户设置一个密码。
B.设置网络。通过vi打开/etc/config/network文件。注意要找到正确的网卡。
C.设置完成后,通过/etc/init.d/network restart。使得配置生效。
四.扩容存储。
默认情况下,img文件中只用了104M。如果为了Docker使用,需要将未使用的空间挂载到系统上。
A. 安装扩容工具
opkg update
opkg install block-mount e2fsprogs fdisk blkid vim
B.依次输入以下命令:
fdisk -l
可以看到/dev/sda
变为 4GB 了。fdisk /dev/sda
这边输入
m
可以查看帮助,会介绍一些命令用法- 输入
n
(新建分区)出现3个提示,直接回车即可。 - 输入
p
(打印分区信息),可以看到多了一个sda3
的分区 - 输入
w
(写入分区信息并退出) - 输入
mkfs.ext4 /dev/sda3
(格式化分区) 并复制 UUID - 重启
reboot
。 - 配置FSTAB
uci add fstab mount
uci set fstab.@mount[-1].uuid=UUID #UUID改为你上面得到的值
uci set fstab.@mount[-1].options=rw,sync,noatime
uci set fstab.@mount[-1].fstype=ext4
uci set fstab.@mount[-1].enabled_fsck=1
uci set fstab.@mount[-1].enabled=1
uci set fstab.@mount[-1].target=/
uci set fstab.@mount[-1].device=/dev/sda3
uci commit fstab- 复制文件
mkdir /mnt/sda3
mount /dev/sda3 /mnt/sda3
mkdir -p /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda3 -xf -
umount /tmp/cproot
umount /mnt/sda3- 启用引导文件
/etc/init.d/fstab enable
/etc/init.d/fstab start
- 重启,Reboot。至此扩容完成。通过网页端能看到空间变大了。
五.安装Docker
A.我这里用的是官方镜像,所有有一些库是没有的。需要自己添加一下。要不,Docker安装不上。增加这个软件包库。注意要和安装的软件版本一致。如这个斜体部分。
src/gz openwrt_kmod https://downloads.openwrt.org/releases/24.10.0-rc1/targets/x86/64/kmods/6.6.63-1-fdf628e4ac1bbb67c9c54e22238868e0
B.安装软件包
C.重启Reboot
D.注意需要更换docker的镜像源,要不没有办法下载到Docker的image。
更换时,不要使用docker去创建/etc/docker/daemon.json文件,我也创建了,但是没有生效。后来我是通过网页的形式去设置的。如果镜像源没有问题。应该就好了。
镜像源测试方法。
docker pull hub.rat.dev/nginx
如果能成功的拉取到镜像,说明这个镜像源没有问题。
Comments