原来是用群晖架设的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 如果能成功的拉取到镜像,说明这个镜像源没有问题。