Er is een enorme keuze aan beheersoftware voor Docker containers en een aantal heb ik al besproken op mijn blog. Ik heb er echter nu 1 gevonden die alles kan wat ik wil (inclusief het beheren van externe Docker Containers) en bovendien ook nog een mooie en intuïtieve user-interface heeft: Dockhand. Dockhand heeft zoveel functies en werkt zo goed dat ik Docker Containers ‘Arcane’, ‘Cup’, ‘Dockwatch’ ‘Dozzle’ en ‘Portainer’ heb verwijderd daar ik die nu niet meer nodig heb.
Zie ook de volgende YouTubes met een introductie tot Dockhand.
Dockhand is een self-hosted Docker-beheerplatform dat diep geïntegreerd is met Git voor gestroomlijnde container implementatie, beheer en beveiliging. Je beheert visueel Docker-omgevingen, implementeert deze vanuit repositories en je kunt wijzigingen automatisch synchroniseren. Het vereenvoudigt complexe workflows met behulp van web-UI’s, CLI-tools en Kubernetes-operators voor het bouwen en pushen van images.
Installatie
Om Dockhand te installeren in een Docker Container maak je een ‘docker-compose.yml’ file aan met de volgende inhoud (pas ‘Volumes’ sectie aan naar jouw behoeften):
services:
dockhand:
image: fnsys/dockhand:baseline
container_name: dockhand
restart: unless-stopped
ports:
- 3333:3000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
Start de docker op met het commando ‘docker compose up -d’. De service is nu beschikbaar op de volgende URL:
http://localhost:3333
Configureren externe servers
Om de Docker containers van externe servers te monitoren moet je op deze externe servers de Hawser client installeren. Ook dit doe je met een Docker Container door een ‘docker-compose.yml’ file op deze externe server aan te maken met de volgende inhoud (pas ‘Volumes’ sectie aan naar jouw behoeften):
services:
hawser:
image: ghcr.io/finsys/hawser:latest
container_name: hawser
restart: unless-stopped
ports:
- 2376:2376
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./stacks:/data/stacks
environment:
- DOCKHAND_SERVER_URL=ws://<docker_server_ip>:3333/api/hawser/connect
- TOKEN=geheim_token
De DOCKHAND_SERVER_URL en TOKEN moet je genereren in je Dockhand Server door in het Dashboard een ‘environment’ toe te voegen. Kies vervolgens als connection ‘Hawser Agent (edge)’ en druk de [Generate] button.
Neem deze gegevens over voor je ‘docker-compose.yml’ file van je externe server en start deze op met het commando ‘docker compose up -d’.
Screenshots
Hieronder zie je een aantal screenshots hoe Dockhand eruit ziet en wat je er allemaal mee kunt doen:
Meer informatie over Dockhand kun je in de handleiding vinden.
Conclusie
Dockhand is ‘alles-in-1 ‘beheer-software voor je Docker Containers op je server en externe servers. Het heeft een geweldige user-interface en werkt erg intuïtief. Ik kan iedereen deze software van harte aanbevelen.