Zuletzt aktualisiert am 1. Februar 2023
Docker, Docker-Compose mit Portainer auf Ubuntu installieren
Docker ist unverzichtbar geworden, wenn es um Cloud-Apps geht, die reibungslos funktionieren sollen.
Eine riesige Auswahl von Docker-Container-Apps sind der größte Vorteil für diese Cloud-Lösung. Die Verwaltung der Docker-Apps mit Portainer ist deutlich einfacher und komfortabler.
Rasch und unkompliziert kann ein Docker-Server installiert werden und in diesem Tutorial zeige ich dir mein typisches Basis-Setup für Docker.
Es gibt viele Wege und Möglichkeiten, einen Docker-Server zu installieren.
Das ist meine Variante und sie ist nicht in Stein gemeißelt! 🙂
Ubuntu Server als Docker-Host installieren
Ich verwende als Docker-Host Ubuntu Server (LTS), du kannst aber auch Turnkey Linux oder Alpine Linux nehmen. Es gibt viele Möglichkeiten und die Wahl überlasse ich dir.
Um das Server-Betriebssystem zu installieren kannst du entweder einen USB-Stick dafür verwenden, den du zuvor mit balenaEtcher bootfähig gemacht hast, oder du lädst die .iso-Datei direkt auf deinem VM-Server hoch (in meinem Fall ist es Proxmox) und installierst das OS dort.
Folge den Anweisungen für die OS-Installation.
Sicherheitsupdates installieren
Nach dem Neustart meldest du dich mit deinen zuvor vergebenen Benutzerdaten an und bringst nun Linux auf den neuesten Stand.
Installiere die Sicherheitsupdates.
sudo apt update
sudo apt upgrade -y
Sicherheitseinstellungen
Du kannst du Sicherheitsmaßnahmen direkt überspringen, wenn du diese nicht jetzt durchführen magst. Scrolle direkt zu „Docker installieren“
Falls du als „root“ angemeldet bist, brauchst du nicht „sudo“ anzuwenden.
Es empfiehlt sich, nicht den Root-User zu verwenden, sondern lege dafür einen eingeschränkten User und SSH-Keys an, jedoch gehe ich hier nicht näher darauf ein.
Firewall aktivieren
Wir öffnen die Ports die von Yacht und Portainer benötigt werden, damit wir später darauf zugreifen können.
SSH wollen wir nur vom lokalen Netzwerk auf Port 22 erlauben. Gib bitte die korrekte IP-Range deines Netzwerkes an. Meine lautet 192.168.1.0/24
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 8000,9443/tcp
sudo ufw allow from 192.168.1.0/24 proto tcp to any port 22
sudo ufw allow from 192.168.1.0/24
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Offene Ports überprüfen.
sudo ufw status numbered
Fail2Ban installieren
Mögliche Angreifer mit Fail2Ban abwehren.
sudo apt install fail2ban
sudo fail2ban-client status
Timezone einstellen
Viele Apps funktionieren nicht richtig, wenn die Timezones nicht zusammenpassen. Daher stellen wir es gleich korrekt ein.
timedatectl status
sudo timedatectl set-timezone Europe/Vienna
Docker installieren
Docker auf Ubuntu oder generell auf Linux zu installieren ist nicht schwer und detaillierte Infos und Anleitungen findst du direkt bei Docker, falls mit dieser Docker-Anleitung etwas nicht klappt.
Essentielle Tools installieren.
sudo apt-get update
Eventuell fehlende Packages installieren.
sudo apt-get install ca-certificates curl gnupg lsb-release
Docker GPG key installieren.
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Docker Repository hinzufügen, was spätere Docker-Updates einfacher machen wird.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Jetzt endlich Docker installieren.
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Docker Berechtigungen korrekt einstellen
Docker empfiehlt, dass diese Schritte noch gemacht werden sollten.
Eine Docker-Gruppe erstellen.
sudo groupadd docker
Deinen Benutzer zur Docker-Gruppe hinzufügen.
sudo usermod -aG docker $USER
Linux neu starten und danach mit dem Hello-World Docker Container testen.
docker run hello-world
Docker beim Boot automatisch starten
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Docker-Compose installieren (Optional)
Falls du docker-compose nutzen willst, kannst du es nachträglich installieren.
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.1.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
Berechtigungen für docker-compose einstellen.
chmod +x ~/.docker/cli-plugins/docker-compose
docker-compose testen.
docker compose version
Portainer installieren
Weiter geht’s mit Portainer. Zuerst müssen wir das Portainer Volume installieren, damit die Daten dauerhaft auf deinem Server gespeichert werden.
docker volume create portainer_data
Portainer Community Edition installieren.
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:/data portainer/portainer-ce:latest
Portainer starten
Öffne deine Lieblings-Browser und ersetze „localhost“ mit deiner Server-IP.
https://localhost:9443
Falls du deine Server-IP nicht kennst, findest du sie so raus.
ip addr
In meinem Fall öffne ich mein Portainer auf https://192.168.1.31:9443
Beim 1. öffnen des Links muss die Warnung wegen des Zertifikats akzeptiert werden.
Jetzt kannst du einen Benutzer in Portainer anlegen und deine Docker-Container hübsch verwalten.
Portainer Docker-Container (Apps)

Geschafft!
Hoffentlich hat alles zu deiner Zufriedenheit geklappt.