Docker & Portainer installieren

Docker & Portainer auf Ubuntu installieren

Zuletzt aktualisiert am 1. Februar 2023

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)

Portainer Docker Web
Unter "Containers" findest du deine Docker-Apps

Geschafft!

Hoffentlich hat alles zu deiner Zufriedenheit geklappt.

Picture of Hallo. Ich bin Thomas.

Hallo. Ich bin Thomas.

Danke, dass du dir die Zeit nimmst diesen Artikel zu lesen.
Wenn du Unterstützung brauchst, oder Fragen zu meinen Produkten & Services hast, dann schreib mir.

Kostenfreie Erstberatung