1. 前提条件
在 OpenWRT 上运行 Docker,您需要确保以下条件满足:
- 支持 Docker 的设备:您的路由器或设备需要有足够的存储空间(建议至少 16GB)和 RAM(建议至少 512MB)。
- 已安装 OpenWRT:您的设备运行的是支持 Docker 的 OpenWRT 版本(通常是 x86_64 或一些高性能 ARM 架构设备)。
- 访问 SSH:能够通过 SSH 访问路由器进行命令行操作。
2. 安装 Docker
在 OpenWRT 中安装 Docker 包。
步骤 1:更新软件包列表
opkg update
步骤 2:安装 Docker
使用以下命令安装 Docker 和 Docker Compose:
opkg install docker docker-compose
如果没有找到这些软件包,您可能需要添加社区或第三方源,例如 luci-app-dockerman
(提供 Web 管理界面):
opkg install luci-app-dockerman
3. 启用 Docker 服务
Docker 服务需要在 OpenWRT 中手动启用并启动。
步骤 1:启用 Docker 服务
/etc/init.d/dockerd enable
步骤 2:启动 Docker 服务
/etc/init.d/dockerd start
步骤 3:检查 Docker 状态
验证 Docker 是否正常运行:
docker info
如果看到 Docker 的运行信息,则表示安装成功。
4. 使用 Docker
以下是一些常用的 Docker 操作命令:
运行容器
例如,运行一个简单的 Nginx 容器:
docker run -d -p 80:80 --name nginx-container nginx
列出容器
查看正在运行的容器:
docker ps
查看所有容器(包括停止的容器):
docker ps -a
停止容器
停止运行中的容器:
docker stop nginx-container
删除容器
删除停止的容器:
docker rm nginx-container
拉取镜像
从 Docker Hub 拉取镜像:
docker pull ubuntu:latest
列出镜像
查看本地的 Docker 镜像:
docker images
5. 配置持久存储
由于 OpenWRT 的闪存空间较小,建议将 Docker 数据存储到外接存储设备(例如 USB 或挂载的硬盘)上。
步骤 1:挂载外部存储
确保外部存储设备已挂载。例如:
mount /dev/sda1 /mnt/docker-data
步骤 2:配置 Docker 存储路径
编辑 Docker 配置文件:
vi /etc/docker/daemon.json
添加以下内容,将 Docker 的存储路径设置为挂载的目录:
{ "data-root": "/mnt/docker-data" }
步骤 3:重启 Docker 服务
/etc/init.d/dockerd restart
6. 使用 LuCI 管理 Docker(下一篇重点介绍如何使用webui安装docker)
如果您安装了 luci-app-dockerman
,可以通过 Web 界面管理 Docker 容器。
步骤 1:进入 LuCI
在浏览器中打开 OpenWRT 的 LuCI Web 界面(默认地址为 192.168.1.1
)。
步骤 2:访问 Docker 管理
进入 服务 > Docker
或 服务 > Dockerman
,可以看到 Docker 容器的管理界面,包括创建、启动、停止容器等操作。
7. 安全性注意事项
- 避免直接暴露 Docker 容器:在 Docker 中运行的服务建议配置防火墙规则,防止直接暴露在互联网上。
- 分配合适的资源:为容器分配适当的 CPU 和内存,以避免影响路由器的核心功能。