Docker Container automatisch mit Boot von Ubuntu starten

Um mittels Docker Containern Dienste verlässlich, stabil und mit minimalem Wartungsaufwand zu betreiben, ist es erforderlich, dass diese nach Start des Docker-Servers automatisch gestartet werden.

Dies passiert ganz einfach, indem dem Docker RUN Kommando eine einfache Option mit auf den Weg gegeben wird:

--restart always

Die Einstellmöglichkeiten rund um die Restart-Policy sind wesentlich vielfältiger und können hier nachgelesen werden.

Ubuntu von Anfang an optimal für den Einsatz von Docker einrichten

Für den Einsatz von Docker kann man zwar inzwischen auch Windows Server 2016 oder Macs nutzen, für den lizenzbedingt kostenfreien Einsatz ist jedoch immer noch Linux die erste Wahl. Ich nutze dafür gewohnheitsmäßig Ubuntu und möchte hier für Euch als auch für mich dokumentieren, wie ich Docker auf einem frisch installiertem Ubuntu aufsetze.

Ubuntu Grundeinstellungen

Als erstes muss Ubuntu auf den aktuellen Stand gebracht werden. Dies passiert üblicherweise mit apt

sudo apt update

sudo apt full-upgrade

Als nächstes empfiehlt es sich, herauszufinden, mit welcher IP-Adresse man im Netzwerk unterwegs ist, damit man sich per SSH einloggen kann und nicht alles direkt von der Konsole aus machen muss. Bei einer VMWare-Console hat das noch den Nachteil, dass man keine Zwischenablage nutzen kann.

ifconfig

Wenn ihr eine feste IP-Adresse über den DHCP-Server konfigurieren wollt, so ist das jetzt Eure Gelegenheit dazu. Anschließend verbindet ihr Euch per SSH auf Eure Ubuntu-Maschine.

SSH-Authentifizierung mit public/private key einrichten

Sollte ihr Euch mit einem SSH-Schlüssel per SSH verbinden wollen, so müsst ihr Euren public key bekannt machen. Dafür legt ihr ein Verzeichnis .ssh an und erstellt dort eine Datei authorized_keys, in der alle Public Keys für die Anmeldung drin stehen müssen.

mkdir .ssh

cd .ssh

vim authorized_keys

Jetzt den Public Key einfügen und speichern.

Docker mit apt installieren

Quelle: https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#set-up-the-repository

Zuerst die Werkzeuge installieren, damit repositories über https angesprochen werden können (ist per Default aber schon installiert)

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common


Anschließend den GPG-Key hinzufügen

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88

Jetzt das Repository von Docker hinzufügen

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

Anschließend das apt aktualisieren

sudo apt-get update

Und endlich Docker installieren

sudo apt-get install docker-ce

Schritte nach der Installation von Docker

Erstellen einer Docker Gruppe

 sudo groupadd docker

Hinzufügen des aktuellen Nutzers zur Gruppe

sudo usermod -aG docker $USER

Anschließend aus- und wieder einloggen für das Aktualisieren der Gruppenmitgliedschaft.

Jetzt wird es Zeit für einen ersten Check, ob alls läuft mit Hilfe des „Hello-World“ Containers

 docker run hello-world

Wenn jetzt Probleme auftreten, könnt ihr die Problembehebung hier nachlesen

Jetzt stellen wir ein, dass Docker beim Systemstart geladen wird:

sudo systemctl enable docker

Nutzen der grafischen Oberfläche „Portainer“ für die komfortable Administration von Docker

Die grafische Benutzeroberfläche können wir einfach einrichten, indem wir den Container mit dem nachfolgenden Befehl starten:


docker run --rm --name portainer -d --privileged -p \
 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/portainer:/data portainer/portainer

Damit ist die grundlegende Einrichtung abgeschlossen.
Im nächsten Beitrag geht es darum, die Infrastruktur von Docker so einzurichten, dass die Container eine Datenumgebung haben und ich per SSH und git die Repositories mit den auszuführenden Applikation verwenden kann.