轻量级Docker管理工具Docker Switchboard

简介

什么是 Docker Switchboard ?

Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择。

主要特点

  1. 容器管理:能够查看所有运行和停止的容器。
  2. 一键操作:支持一键启动和停止容器。
  3. 状态自动刷新:容器状态自动刷新,确保信息实时更新。
  4. 正则表达式过滤:可根据正则表达式过滤显示的容器,方便管理。
  5. 简单配置:通过 YAML 文件进行简单的配置,易于上手。
  6. 轻量级:镜像大小不到 7MB,页面大小约 50kB

应用场景

  • 本地开发:开发者可以快速管理 Docker 容器,无需使用命令行。
  • 家庭实验室:适合家庭用户在本地实验和测试应用程序。
  • 小型服务器部署:为小型服务器提供简单的容器管理解决方案。

Docker Switchboard 并非旨在取代 PortainerRancher 等高级容器管理解决方案。相反,它提供了一种快速、轻松的方式来控制您的容器,而无需命令行。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 cfstcyr ,选择第一个 cfstcyr/docker-switchboard,版本选择 latest

本文写作时, latest 版本对应为 v1.2.0

/var/run/docker.sock

与容器相关的应用,都需要绑定挂载 /var/run/docker.sock ,包括我们之前安装的 portainerwatchtowerGlancesNetdata 等。

什么是 /var/run/docker.sock ?

/var/run/docker.sock 是 Docker API 的主要入口,简单地说,它是 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字(Unix domain socket),容器中的进程可以通过它与 Docker 守护进程进行通信。

title

图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd

但是群晖的 Docker 管理器并不支持挂载 /var/run/docker.sock 文件,所以这次我们需用命令行来安装

app.yaml

配置文件包含以下字段

变量 描述 缺省值
refresh_interval 刷新容器列表的间隔(以秒为单位) 5
container_match 用于匹配容器名称的正则表达式模式(仅显示匹配项) .*

将下面的内容保存到 app.yaml

1
2
refresh_interval: 5
container_match: ".*"

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 switchboard 和 子目录
mkdir -p /volume1/docker/switchboard

# 进入 switchboard 目录
cd /volume1/docker/switchboard

# 将 app.yaml 放入当前目录

# 运行容器
docker run -d \
--restart unless-stopped \
--name switchboard \
-p 8250:8080 \
-v $(pwd)/app.yaml:/config/app.yaml \
-v /var/run/docker.sock:/var/run/docker.sock \
cfstcyr/docker-switchboard

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
version: '3'

services:
switchboard:
image: cfstcyr/docker-switchboard
container_name: switchboard
restart: unless-stopped
ports:
- 8250:8080
volumes:
- ./app.yaml:/config/app.yaml # Optional
- /var/run/docker.sock:/var/run/docker.sock

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 switchboard 和 子目录
mkdir -p /volume1/docker/switchboard

# 进入 switchboard 目录
cd /volume1/docker/switchboard

# 将 docker-compose.yml 和 app.yaml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8250 就能看到主界面

使用很简单,看官方的动图

界面太朴素了,这点不如 Fastdock

参考文档

cfstcyr/docker-switchboard
地址:https://github.com/cfstcyr/docker-switchboard