Docker, Docker Compose und Portainer CE im Proxmox LXC Container installieren

Moin!

UPDATE: Das Tutorial ist auf Debian 11 aktualisiert! Für alle die ein Dist Upgrade von Debian 10 auf Debian 11 durchgeführt haben und nun Docker nicht mehr korrekt funktioniert habe ich einen neuen Beitrag erstellt der euch bei Lösung helfen wird.

Heute erkläre ich kurz und knapp wie man Docker, Docker Compose und Portainer im unpriviligierten Proxmox LXC Container installiert.

Wir starten mit der Erstellung des Containers. Ich verwende dafür immer ein Debian Image. Dabei muss beachtet werden, dass bei der Container Erstellung im ersten Step das Kästchen unpriviligierter Container ausgewählt ist. Ist der LXC erstellt wählen wir den Container an, klicken auf Optionen, dann auf Features, danach auf bearbeiten und wählen keyctl sowie nesting an.

Wir verbinden uns per SSH mit dem root User auf den Container. Im Anschluss führen wir ein Update durch und installieren die benötigten Pakete.

apt update && apt upgrade -y
apt install ca-certificates curl gnupg lsb-release

Anschließend installieren wir Docker. Damit wir immer die aktuellste Version von Docker haben pflegen wir das Repository von Docker ein. Wir laden den Sicherungsschlüssel herunter und erstellen eine source Datei.

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

Damit wir keine alten Paketleichen auf dem System haben deinstallieren wir zunächst die möglicherweise installierten Docker Pakete.

apt purge docker docker.io containerd runc -y

Nun aktualisieren wir die Paketlisten und installieren Docker. Zusätzlich installieren wird das Plugin Docker compose, welches früher manuell als Skript hinzugefügt werden musste.

apt update && apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Anschließend erstellen wir einen Nutzer der den Container startet. Diesen fügen wir der Docker Gruppe hinzu.

adduser username
usermod -aG docker username

Im letzten Schritt installieren wechseln wir zu unserem vorher erstellten User. Anschließend installieren wir Portainer-CE zur einfacheren Verwaltung der Container. Dazu legen wir einen neuen Ordner im Homeverzeichnis des Docker Users an und erstellen eine docker-compose.yml Datei.

su username
cd /home/username/
mkdir portainer-ce && cd portainer-ce/
nano docker-compose.yml

version: '3'
services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer-ce
    restart: always
    ports:
      - 9000:9000
      - 8000:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
volumes:
  portainer_data:

Jetzt pullen wir das Image und bringen den Container an den Start.

docker compose up -d

Nun könnt ihr das Web UI ansteuern. Das könnt ihr mit ContainerIP:9000 erledigen. Im Webinterface erstellt ihr euch einen Account und wählt das linke Docker Socket Fenster aus. Schon seit ihr fertig mit dem Setup.

Grüße gehen aus dem Archiv!

Abonnieren
Benachrichtige mich bei
guest
13 Kommentare
Älteste
Neuste Meist Bewerteste
Inline Feedbacks
Zeige alle Kommentare
13
0
Bitte lasse uns an deinen Gedanken teilhaben und kommentier den Beitrag.x
Cookie Consent mit Real Cookie Banner