在 OpenWrt 系统上安装 Docker 是一个常见的需求,尤其对于那些希望利用容器化技术简化服务部署的用户来说。OpenWrt 自身并不直接支持 Docker,但可以通过安装额外的软件包来实现这一功能。本文将详细介绍如何在 OpenWrt 上安装 Docker,并探讨相关配置和常见问题。
准备工作
在开始安装 Docker 之前,需要确保 OpenWrt 系统已经更新到最新版本。这是因为较旧的版本可能缺少必要的依赖或存在兼容性问题。
首先,通过 SSH 连接到 OpenWrt 设备,然后执行以下命令更新系统:
opkg update
opkg upgrade
更新完成后,检查系统是否已经包含 Docker 所需的依赖包。如果没有,则需要先安装这些依赖。
安装依赖
Docker 在 OpenWrt 上运行需要一些底层的支持,包括 Linux 内核的模块和用户空间库。安装这些依赖是确保 Docker 正常工作的关键步骤。
运行以下命令来安装必要的依赖包:
opkg install luci-app-docker docker docker-compose
这些包包括 Docker 的核心组件、Web 管理界面以及 Docker Compose 工具。安装完成后,重启 OpenWrt 设备以确保所有更改生效。
配置 Docker
安装完 Docker 后,需要进行一些基本的配置。首先,确保 Docker 服务已经启动。可以通过以下命令检查 Docker 状态:
systemctl status docker
如果服务未启动,可以使用以下命令启动它:
systemctl start docker
此外,为了方便管理 Docker 容器,可以配置 Docker 的守护进程选项。编辑 /etc/docker/daemon.json 文件,添加以下内容:

{
"user": "root",
"storage-driver": "overlay2"
}
保存文件后,重启 Docker 服务以应用更改:
systemctl restart docker
使用 Docker Compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。在 OpenWrt 上使用 Docker Compose 可以简化复杂应用的部署。
首先,安装 Docker Compose:
opkg install docker-compose
然后,创建一个 docker-compose.yml 文件来定义应用。例如,以下是一个简单的 Nginx 服务配置:
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
保存文件后,使用以下命令启动服务:
docker-compose up -d
常见问题解答
如何在 OpenWrt 上查看 Docker 容器列表?
可以通过以下命令查看当前运行的 Docker 容器:
docker ps
如果需要查看所有容器(包括已停止的),可以使用:
docker ps -a
如何停止并删除 Docker 容器?
首先,使用 docker ps 命令找到容器的 ID 或名称。然后,使用以下命令停止容器:
docker stop
停止后,可以使用以下命令删除容器:
docker rm
如何在 OpenWrt 上管理 Docker 卷?
Docker 卷是用于持久化数据的机制。可以使用以下命令创建卷:
docker volume create my_volume
要挂载卷到容器,可以在 docker run 命令中指定:
docker run -d --name my_container -v my_volume:/data nginx:latest
这样,容器内的 /data 目录将挂载到 OpenWrt 的本地存储上,确保数据不会随容器删除而丢失。