logo
0
0
WeChat Login
📝 docs: 将 README.md 从英文翻译为中文

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。