A web management UI for Docker, focus on swarm cluster.
500K+
Swirl is a web management tool for Docker, focused on swarm cluster.
All options can be set with config/app.yml.
name: swirl
banner: false
web:
address: ':8001'
authorize: '?'
swirl:
db_type: mongo
db_address: localhost:27017/swirl
# docker_endpoint: tcp://docker-proxy:2375
log:
loggers:
- level: info
writers: console
writers:
- name: console
type: console
layout: '[{L}]{T}: {M}{N}'
Only these options can be set by environment variables for now.
| Name | Value |
|---|---|
| DB_TYPE | mongo,bolt |
| DB_ADDRESS | localhost:27017/swirl |
| DOCKER_ENDPOINT | tcp://docker-proxy:2375 |
| AUTH_TIMEOUT | 4h |
Docker support mounting configuration file through swarm from v17.06, so you can store your config in swarm and mount it to your program.
Swirl support two storage engines now: mongo and bolt. bolt is suitable for develepment environment, Swirl can only deploy one replica if you use bolt storage engine.
Just copy the swirl binary and config/assets/views directories to the host, and run it.
./swirl
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 \
cuigh/swirl
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=localhost:27017/swirl \
--name=swirl \
cuigh/swirl
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 \
cuigh/swirl
docker service create \
--name=swirl \
--publish=8001:8001/tcp \
--env DB_ADDRESS=localhost:27017/swirl \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
cuigh/swirl
docker stack deploy -c compose.yml swirl
Swirl use service labels to support some features, the labels in the table below are currently supported.
| Name | Description | Examples |
|---|---|---|
| swirl.scale | Service auto scaling | swirl.scale=min=1,max=5,cpu=30:50 |
To build Swirl from source, you need go1.11 installed.
$ go build
This product is licensed to you under the MIT License. You may not use this product except in compliance with the License. See LICENSE and NOTICE for more information.
Content type
Image
Digest
Size
10.2 MB
Last updated
over 4 years ago
Requires Docker Desktop 4.37.1 or later.