Fish in the river

思考 技术
记录 回忆
  1. Main page
  2. 运维技术
  3. Dock
  4. Main content

OpenWrt 安装Docker

2024年12月4日 62hotness 0likes 0comments

原来是用群晖架设的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.依次输入以下命令:

  1. fdisk -l可以看到 /dev/sda 变为 4GB 了。

  2. fdisk /dev/sda

    这边输入 m 可以查看帮助,会介绍一些命令用法

  3. 输入 n (新建分区)出现3个提示,直接回车即可。

  4. 输入 p (打印分区信息),可以看到多了一个 sda3 的分区
  5. 输入 w (写入分区信息并退出)
  6. 输入 mkfs.ext4 /dev/sda3 (格式化分区) 并复制 UUID
  7. 重启 reboot 。
  8. 配置FSTAB
  9. 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
  10. 复制文件
  11. 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
  12. 启用引导文件

/etc/init.d/fstab enable
/etc/init.d/fstab start

  1. 重启,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

如果能成功的拉取到镜像,说明这个镜像源没有问题。

 

 

Tag: Nothing
Last updated:2024年12月4日

joey

This person is a lazy dog and has left nothing

Like
< Last article
Next article >

Comments

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
Cancel

归档

  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024

分类目录

  • C#
  • Dock
  • Excel
  • Kindle
  • Linux
  • Windows
  • 生活感悟
  • 群晖
  • 运维技术

COPYRIGHT © 2024 水中小鱼. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang