Portainer: Docker beheren via een webinterface
Portainer: Docker beheren via een webinterface
Dit artikel legt uit hoe u Portainer installeert en gebruikt om Docker-omgevingen te beheren via een grafische webinterface, bedoeld voor ontwikkelaars en beheerders die Docker-containers efficiënter willen beheren.
Vereisten
- Een Linux- of Windows-server met Docker geïnstalleerd (Docker Engine 20.10.0 of nieuwer) - Toegang tot de terminal met sudo-rechten - Poort 9443 vrij voor HTTPS-verkeer - Poort 8000 vrij voor de TCP-tunnelserver - Docker Compose (optioneel, voor geavanceerdere installaties)
Stappen
1. Download de Portainer-image
Pull de officiële Portainer image van Docker Hub. De Enterprise Edition met long-term support (LTS) wordt aanbevolen voor productieomgevingen.
docker pull portainer/portainer-ee:lts
Voor de Community Edition gebruikt u:
docker pull portainer/portainer-ce:latest
2. Maak een persistent volume aan
Portainer slaat configuratie- en statusgegevens op in een Docker volume. Dit zorgt ervoor dat instellingen behouden blijven na een herstart van de container.
docker volume create portainer_data
3. Start de Portainer-container
De installatie gebruikt twee volumes: `/var/run/docker.sock` voor toegang tot de Docker-daemon en `portainer_data` voor persistente opslag. De container luistert op poort 9443 voor HTTPS en poort 8000 voor de TCP-tunnelserver.
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/portainer_data portainer/portainer-ee:lts4. Open de webinterface
Navigeer naar `https://localhost:9443` in uw browser. Vervang `localhost` door het IP-adres of de FQDN van uw server als u Portainer op afstand beheert.
5. Maak een admin-account aan
Bij de eerste keer inloggen moet u een gebruikersnaam en wachtwoord instellen voor het admin-account. Dit account heeft volledige controle over de Portainer-omgeving.
6. Verbind een Docker-omgeving
Portainer vraagt u om een environment te verbinden. Kies voor "Docker Standalone" als u een enkele Docker-host beheert, of "Docker Swarm" voor een cluster-omgeving.
7. Beheer containers via de interface
Na het verbinden ziet u een overzicht van alle actieve en gestopte containers, images, volumes en netwerken. U kunt containers starten, stoppen, herstarten, pauzeren of verwijderen via de interface zonder Docker CLI-commando's te moeten onthouden.
8. Gebruik geavanceerde functies
Portainer biedt ook ondersteuning voor Kubernetes en Azure Container Instances (ACI). Via de interface kunt u deze omgevingen toevoegen en beheren met dezelfde grafische tools.
Verificatie
Controleer of Portainer correct draait met:
docker ps | grep portainer
De output toont een container met de naam `portainer`, status `Up` en de ports `0.0.0.0:8000->8000/tcp` en `0.0.0.0:9443->9443/tcp`.
Veelgestelde problemen
1. Kan geen verbinding maken met https://localhost:9443
Controleer of de container draait met `docker ps`. Als de container niet actief is, bekijk dan de logs met `docker logs portainer`. De meest voorkomende oorzaak is een firewall die poort 9443 blokkeert.
2. Portainer verliest configuratie na herstart
Dit gebeurt wanneer het volume niet correct is gekoppeld. Verwijder de container en start opnieuw met de volledige `docker run`-opdracht uit stap 3, inclusief de `-v portainer_data:/portainer_data`-parameter.
3. Geen toegang tot Docker-daemon
De container heeft toegang tot de Docker-daemon nodig via `/var/run/docker.sock`. Controleer of het bestand bestaat op uw host met `ls -la /var/run/docker.sock`. Als het ontbreekt, moet u Docker opnieuw installeren of de socket op een andere locatie koppelen.
Portainer verandert niet hoe Docker werkt, maar legt een beheerslaag bovenop de bestaande functionaliteit. De interface vertaalt acties naar dezelfde Docker-commando's die u via de CLI zou uitvoeren, zoals `docker container restart` of `docker container rm -f`. Voor organisaties die meerdere Docker-hosts of geavanceerde orchestratie beheren, biedt één centrale interface een manier om de operationele complexiteit te verminderen en de kans op fouten te verkleinen. De vraag is niet of u een grafische laag nodig hebt, maar wanneer de hoeveelheid containers en omgevingen de CLI-only workflow overstijgt.