OpenWrt Docker安装指南 – wiki大全

OpenWrt Docker 安装指南

通过在 OpenWrt 路由器上安装 Docker,您可以将您的路由器转变为一个多功能的迷你服务器,运行各种容器化应用程序。本指南将详细介绍如何在 OpenWrt 设备上安装 Docker Community Edition (CE)。

1. 前提条件

在开始之前,请确保您的 OpenWrt 设备满足以下要求:

  • 硬件: 建议路由器或设备至少具有 1GB RAM 和足够的闪存存储(最好超过 16GB)。Docker 通常不支持所有基于 MIPS 的路由器,但它与 ARM、x86 或 x86_64 架构兼容。
  • 外部存储: 由于许多 OpenWrt 设备的内部闪存有限,强烈建议使用外部存储(如 USB 驱动器或 SSD)来存储 Docker 镜像和容器数据。这通常需要配置 “extroot” 来扩展根文件系统。
  • 互联网连接: 您的 OpenWrt 设备需要有效的互联网连接才能下载软件包。
  • SSH 访问: 您需要通过 SSH 访问您的 OpenWrt 设备 shell。

2. 存储扩展 (Extroot – 如果需要)

如果您的设备内部存储有限,您需要配置 extroot 以使用外部 USB 驱动器或 SSD 来存储 Docker 相关数据。此过程涉及:

  1. 安装必要的软件包:
    bash
    opkg update && opkg install block-mount kmod-fs-ext4 e2fsprogs parted kmod-usb-storage
  2. 连接并识别存储设备。
  3. 使用 ext4 等文件系统对磁盘进行分区和格式化。
  4. 配置 extroot 挂载条目 以及原始 overlay 的挂载条目。

有关设置 extroot 的详细说明,请参阅 OpenWrt 官方 extroot 文档。

3. 安装 Docker Community Edition

请按照以下步骤在您的 OpenWrt 设备上安装 Docker CE:

3.1 更新系统软件包

首先,更新软件包列表以确保您获得最新版本。

bash
opkg update && opkg upgrade

3.2 安装 Docker 及其依赖项

安装 Docker 守护程序 (dockerd) 和 Docker 命令行客户端 (docker)。

bash
opkg install dockerd docker

3.3 安装 LuCI Docker Web 界面 (可选)

为了方便通过 Web 界面管理 Docker,您可以安装 luci-app-dockerman。如果尚未安装,此软件包还将作为依赖项安装 dockerddocker-compose

bash
opkg install luci-app-dockerman

3.4 启用并启动 Docker 服务

启用 Docker 服务以使其在启动时自动运行,然后启动它。

bash
/etc/init.d/dockerd enable
/etc/init.d/dockerd start

3.5 验证安装

通过检查 Docker 版本来验证 Docker 是否正常运行。

bash
docker version

如果成功,您应该会看到 Docker 客户端和服务器的版本信息。

4. 配置 Docker 根目录 (如果使用外部存储)

如果您使用的是外部存储,您可能需要更改 Docker 的根目录。dockerman 中 Docker 的默认文件夹是 /opt/docker/。您可以将外部存储挂载到 /opt,或者在 LuCI 界面的 Docker > Overview 下更改 Docker 根目录。更改后,请记住重启 dockerd 服务。

5. 使用 Docker

Docker 安装完成后,您可以开始拉取镜像并运行容器。

5.1 拉取镜像

您可以使用命令行或 LuCI 界面从 Docker Hub 拉取镜像。

  • 命令行:
    bash
    docker pull <image_name>
    # 示例:
    docker pull alpine
  • LuCI:
    进入 Docker > Images,在 “Pull Image” 框中粘贴镜像名称,然后单击 “Pull”。请注意,大型镜像的拉取在 LuCI 中可能会超时,因此对于较大的镜像,命令行通常更可靠。

5.2 运行容器

拉取镜像后,您可以运行容器。例如,运行一个轻量级的 Alpine Linux 容器:

bash
docker run -it alpine /bin/sh

您还可以使用 docker-compose 来定义和运行多容器 Docker 应用程序。

6. 重要注意事项

  • 安全性: 在路由器上运行 Docker 会引入安全考虑。请确保您了解其含义,尤其是在将服务暴露到互联网时。
  • 资源使用: 尽管 OpenWrt 本身很轻量,但 Docker 及其容器会消耗资源。请监控您设备的性能。
  • 持久化存储: 对于需要持久化数据的容器,请确保配置卷以将数据存储在您的外部存储上。
滚动至顶部