logo
0
0
WeChat Login

SWIRL

Docker Pulls Swirl

Swirl 是一个用于 Docker 的 Web 管理工具,专注于 Swarm 集群。

警告:v1.0+ 版本与之前版本不完全兼容,建议重新部署而不是直接升级。

功能特性

  • Swarm 组件管理
  • 镜像和容器管理
  • Compose 管理,支持部署
  • 基于 Prometheuscadvisor 的服务监控
  • 服务自动扩缩容
  • LDAP 认证支持
  • 基于 RBAC 模型的完整权限控制
  • 按需扩展
  • 多语言支持
  • 更多功能...

界面截图

首页

Home

服务列表

Service list

服务统计

Service stats

Stack 列表

Stack list

设置

Setting

配置

使用配置文件

所有选项都可以通过 config/app.yml 设置。

name: swirl
banner: false

web:
  entries:
    - address: :8002
  authorize: '?'

swirl:
  db_type: mongo
  db_address: mongodb://localhost:27017/swirl
#  token_expiry: 30m
#  docker_api_version: '1.41'
#  docker_endpoint: tcp://docker-proxy:2375

log:
  loggers:
  - level: info
    writers: console
  writers:
  - name: console
    type: console
    layout: '[{L}]{T}: {M}{N}'

使用环境变量

目前只有这些选项可以通过环境变量设置。

名称
DB_TYPEmongo(默认),bolt
DB_ADDRESSmongodb://localhost:27017/swirl
TOKEN_EXPIRY30m
DOCKER_ENDPOINTtcp://docker-proxy:2375
DOCKER_API_VERSION1.41

使用 Swarm 配置

Docker 从 v17.06 开始支持通过 swarm 挂载配置文件,因此你可以将配置存储在 swarm 中并挂载到程序。

部署

Swirl 目前支持两种存储引擎:mongo 和 bolt。bolt 适用于开发环境,如果使用 bolt 存储引擎,Swirl 只能部署一个副本。

独立部署

只需将 swirl 二进制文件和 config 目录复制到主机,然后运行它。

./swirl

Docker

  • 使用 bolt 存储引擎
docker run -d -p 8001:8001 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /data/swirl:/data/swirl \
    -e DB_TYPE=bolt \
    -e DB_ADDRESS=/data/swirl \
    --name=swirl \
    docker.cnb.cool/zhiqiangwang/swirl:latest
  • 使用 MongoDB 存储引擎
docker run -d -p 8001:8001 \
    --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
    -e DB_TYPE=mongo \
    -e DB_ADDRESS=mongodb://localhost:27017/swirl \
    --name=swirl \
    docker.cnb.cool/zhiqiangwang/swirl:latest

Docker swarm

  • 使用 bolt 存储引擎
docker service create \
  --name=swirl \
  --publish=8001:8001/tcp \
  --env DB_TYPE=bolt \
  --env DB_ADDRESS=/data/swirl \
  --constraint=node.hostname==manager1 \
  --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
  --mount=type=bind,src=/data/swirl,dst=/data/swirl \
  docker.cnb.cool/zhiqiangwang/swirl:latest
  • 使用 MongoDB 存储引擎
docker service create \
  --name=swirl \
  --publish=8001:8001/tcp \
  --env DB_ADDRESS=mongodb://localhost:27017/swirl \
  --constraint=node.role==manager \
  --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
  docker.cnb.cool/zhiqiangwang/swirl:latest

Docker compose

docker stack deploy -c compose.yml swirl

高级功能

Swirl 使用服务标签来支持一些功能,下表中列出了当前支持的标签。

名称描述示例
swirl.scale服务自动扩缩容min=1,max=5,cpu=30:50

构建

要从源代码构建 Swirl,你需要安装 yarngo(v1.16+)

$ cd ui 
$ yarn
$ yarn build
$ cd ..
$ go build

许可证

本产品根据 MIT 许可证授权给您。除非遵守许可证,否则您不得使用本产品。有关更多信息,请参阅 LICENSE 和 NOTICE。

About

A web UI for Docker, focused on swarm cluster.

10.44 MiB
0 forks0 stars1 branches0 TagREADMEMIT license
swirlrepo-named
Language
Go77.7%
Vue16.7%
TypeScript5.6%
CSS0%