轻量级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.sockDocker API 的主要入口,简单地说,它是 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字(Unix domain socket),容器中的进程可以通过它与 Docker 守护进程进行通信。

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

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

app.yaml

配置文件包含以下字段

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

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

yaml 复制代码
refresh_interval: 5
container_match: ".*"

docker cli 安装

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

bash 复制代码
# 新建文件夹 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 文件

yaml 复制代码
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

然后执行下面的命令

bash 复制代码
# 新建文件夹 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

相关推荐
梦想很大很大8 小时前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair9 小时前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主10 小时前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
天朝八阿哥13 小时前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code
阿虎儿1 天前
Docker安装(非sudo用户可用)
docker
甲鱼9292 天前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
fetasty3 天前
rustfs加picgo图床搭建
docker
蝎子莱莱爱打怪3 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
碳基沙盒4 天前
OpenClaw 多 Agent 配置实战指南
运维
小p4 天前
docker学习7:docker 容器的通信方式
docker