Docker unter Ubuntu: Installation, Einrichtung & Fehlerbehebung – Der komplette Guide für Einsteiger und Profis

目次

1. Einführung

Was ist Docker?

Docker ist eine Plattform, die containerbasierte Virtualisierungstechnologien nutzt, um die Entwicklung, Verteilung und Ausführung von Anwendungen effizient zu gestalten. Im Gegensatz zu herkömmlichen virtuellen Maschinen (VMs) teilen sich Container den Kernel des Host-Betriebssystems, was einen schnellen Start und einen geringeren Ressourcenverbrauch ermöglicht.

Vorteile der Nutzung von Docker unter Ubuntu

Ubuntu ist eine der Linux-Distributionen, die besonders gut mit Docker harmoniert. Dafür gibt es folgende Gründe:

  • Offizielle Unterstützung: Docker unterstützt Ubuntu offiziell; die Installation über die offiziellen Repositories ist einfach.
  • Stabiles Paketmanagement: Mit dem APT-Paketmanager von Ubuntu lässt sich die Docker-Version problemlos verwalten.
  • Große Community: Da Ubuntu weltweit sehr beliebt ist, findet man bei Problemen leicht Lösungen und Hilfestellungen.

Was Sie in diesem Artikel lernen

In diesem Artikel werden die folgenden Themen Schritt für Schritt erklärt:

  1. Wie man Docker unter Ubuntu installiert
  2. Grundlegende Befehle zur Verwaltung von Docker-Images
  3. Erstellung eigener Images mit einem Dockerfile
  4. Einrichtung der japanischen Sprache in Ubuntu-Containern
  5. Optimierung und Verkleinerung von Docker-Images
  6. App-Entwicklung in Ubuntu-Containern
  7. Häufige Fehler und Lösungen

Dieser Leitfaden ist sowohl für Einsteiger als auch für Fortgeschrittene geeignet – nutzen Sie ihn gern als Referenz.

2. Docker unter Ubuntu installieren

Docker-Installation mit offiziellen Repositories

Unter Ubuntu lässt sich Docker einfach über die offiziellen Repositories installieren. Gehen Sie dabei wie folgt vor:

1. Vorhandene Docker-Pakete entfernen

Ubuntu enthält standardmäßig das Paket docker.io, das jedoch veraltet sein kann. Entfernen Sie es daher zunächst.

sudo apt remove docker docker-engine docker.io containerd runc

2. Notwendige Pakete installieren

Installieren Sie die benötigten Abhängigkeiten vor der eigentlichen Docker-Installation:

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

3. Offizielles Docker-Repository hinzufügen

Fügen Sie den offiziellen GPG-Key von Docker hinzu und richten Sie das Repository ein:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo 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/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. Docker installieren

Nachdem das Repository hinzugefügt wurde, installieren Sie Docker:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

5. Installation prüfen

Überprüfen Sie die Installation, indem Sie die Version von Docker anzeigen lassen:

docker --version

Erste Konfiguration nach der Installation

1. Docker-Service starten und aktivieren

Starten Sie den Docker-Dienst und richten Sie ihn so ein, dass er beim Systemstart automatisch läuft:

sudo systemctl start docker
sudo systemctl enable docker

2. Docker für Nicht-root-Benutzer freigeben

Standardmäßig kann Docker nur von root ausgeführt werden. Damit auch normale Benutzer Docker nutzen können, passen Sie die Gruppenrechte an:

sudo usermod -aG docker $USER

Melden Sie sich danach ab und wieder an, um die Änderung zu übernehmen.

3. Funktionsprüfung

Führen Sie als normaler Benutzer den hello-world-Container aus, um zu überprüfen, ob Docker funktioniert:

docker run hello-world

Wenn die Ausgabe „Hello from Docker!“ erscheint, ist die Installation erfolgreich.

3. Grundlegende Befehle für Docker-Images

Was ist ein Docker-Image?

Ein Docker-Image ist eine Vorlage zur Erstellung von Containern. Mit einem Ubuntu-basierten Image können Sie sofort eine Ubuntu-Umgebung starten.

Ubuntu-Image von Docker Hub beziehen

Im Docker Hub gibt es zahlreiche offizielle Images. Ein Ubuntu-Image können Sie mit folgendem Befehl herunterladen:

docker pull ubuntu

Container starten und stoppen

Starten Sie einen Container aus dem geladenen Ubuntu-Image wie folgt:

docker run -it ubuntu bash

Damit öffnet sich eine Shell im Ubuntu-Container und Sie können darin arbeiten.

Container auflisten

Alle laufenden Container sehen Sie mit diesem Befehl:

docker ps

Alle Container (auch gestoppte) zeigen Sie mit dem -a-Schalter an:

docker ps -a

Container stoppen und löschen

Um einen laufenden Container zu stoppen:

docker stop [CONTAINER-ID oder Name]

Zum Löschen nicht mehr benötigter Container verwenden Sie:

docker rm [CONTAINER-ID oder Name]

Verwaltung von Docker-Images

Geladene Docker-Images listen Sie mit folgendem Befehl auf:

docker images

Zum Entfernen nicht mehr benötigter Images nutzen Sie:

docker rmi [IMAGE-ID]

4. Eigene Images mit einem Dockerfile erstellen

Was ist ein Dockerfile?

Ein Dockerfile ist eine Konfigurationsdatei zur Erstellung eigener Docker-Images. Die darin definierten Anweisungen ermöglichen Ihnen, eine maßgeschneiderte Entwicklungsumgebung zu erzeugen oder gewünschte Pakete bereits vorzuinstallieren.

Grundlegende Dockerfile-Befehle

Zu den wichtigsten Anweisungen im Dockerfile gehören:

BefehlBeschreibung
FROMLegt das Basis-Image fest
RUNFührt Befehle beim Image-Bau aus
COPYKopiert Dateien in den Container
WORKDIRSetzt das Arbeitsverzeichnis
CMDStandardbefehl beim Containerstart
ENTRYPOINTDefiniert den Einstiegspunkt beim Start

Ubuntu-basiertes eigenes Image bauen

So erstellen Sie ein eigenes, auf Ubuntu basierendes Docker-Image:

1. Arbeitsverzeichnis erstellen

Legen Sie ein neues Projektverzeichnis an und wechseln Sie hinein:

mkdir my-ubuntu-image
cd my-ubuntu-image

2. Dockerfile anlegen

Erstellen Sie im Verzeichnis eine Datei namens Dockerfile mit folgendem Inhalt:

# Offizielles Ubuntu-Basisimage
FROM ubuntu:latest

# (Optional) Maintainer-Information
LABEL maintainer="your-email@example.com"

# Update & Installation grundlegender Tools
RUN apt update && apt install -y curl vim git

# Arbeitsverzeichnis setzen
WORKDIR /workspace

# Standardbefehl beim Containerstart
CMD ["bash"]

3. Docker-Image bauen

Bauen Sie das Image mit folgendem Befehl:

docker build -t my-ubuntu-image .

Mit dem -t-Schalter legen Sie den Namen des Images fest.

4. Image prüfen

Listen Sie das gebaute Image auf:

docker images

5. Container starten

Starten Sie einen Container aus Ihrem Image:

docker run -it my-ubuntu-image

Im Container sollten jetzt curl, vim und git installiert sein.

5. Japanische Sprache in Ubuntu-Containern einrichten

Das Standard-Ubuntu-Image ist auf Englisch eingestellt. Für die Nutzung der japanischen Sprache sind zusätzliche Schritte nötig.

Japanische Locale konfigurieren

Installieren Sie das japanische Sprachpaket im Container, um Anzeige und Eingabe auf Japanisch zu ermöglichen:

1. Benötigte Pakete installieren

apt update
apt install -y language-pack-ja locales

2. Locale einstellen

Generieren Sie die Locale und wenden Sie sie an:

locale-gen ja_JP.UTF-8
update-locale LANG=ja_JP.UTF-8

3. Änderungen anwenden

export LANG=ja_JP.UTF-8

Japanische Eingabe aktivieren

Für die Eingabe japanischer Zeichen im Terminal installieren Sie ibus-mozc:

apt install -y ibus-mozc

Bei der Nutzung von GUI-Anwendungen fügen Sie folgende Umgebungsvariablen hinzu:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

Nutzung von GUI-Anwendungen

Für GUI-Anwendungen im Docker-Container empfiehlt sich die Nutzung eines X-Servers auf dem Host-System.

Installieren Sie einen X-Server auf dem Host und führen Sie den Container mit aktiviertem X11 aus:

docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-ubuntu-image

6. Docker-Images optimieren und verkleinern

Durch die Optimierung von Docker-Images können Sie die Startzeit der Container verkürzen und Speicherplatz sparen. Im Folgenden finden Sie Methoden zur Reduzierung der Image-Größe:

Leichte Ubuntu-basierte Images nutzen

Das Standard-Image ubuntu:latest ist relativ groß. Mit ubuntu:minimal können Sie das Image verkleinern:

FROM ubuntu:minimal

Alternativ können Sie das besonders schlanke Alpine Linux verwenden:

FROM alpine:latest
RUN apk add --no-cache bash curl

Mit dieser Methode kann die Image-Größe um mehrere hundert MB reduziert werden.

Nicht benötigte Dateien entfernen

Indem Sie nicht mehr benötigte Paketlisten nach der Installation löschen, verkleinern Sie Ihr Image:

RUN apt update && apt install -y curl vim     && apt clean     && rm -rf /var/lib/apt/lists/*

Mit rm -rf /var/lib/apt/lists/* entfernen Sie unnötige Daten und sparen Speicherplatz.

Multi-Stage-Builds einsetzen

Durch den Einsatz von Multi-Stage-Builds lassen sich Entwicklungswerkzeuge nur im Build-Prozess verwenden und das finale Image bleibt schlank:

FROM ubuntu as builder
RUN apt update && apt install -y gcc

FROM ubuntu:minimal
COPY --from=builder /usr/bin/gcc /usr/bin/gcc

So enthält das End-Image nur die nötigen Binaries, nicht aber die gesamten Entwicklungspakete.

7. Praxis: App-Entwicklung im Ubuntu-Container

Hier wird gezeigt, wie Sie mit Ubuntu-Containern eine Entwicklungsumgebung für Ihre Projekte einrichten.

Python-Entwicklungsumgebung einrichten

Für eine Python-Entwicklung im Container erstellen Sie dieses Dockerfile:

FROM ubuntu:latest
RUN apt update && apt install -y python3 python3-pip
CMD ["python3"]

Bauen Sie das Image und starten Sie den Container wie folgt:

docker build -t python-dev .
docker run -it python-dev

Sie können nun python3 im Container ausführen und Ihre Skripte entwickeln und testen.

Node.js-Entwicklungsumgebung einrichten

Für Node.js erstellen Sie ein entsprechendes Dockerfile:

FROM ubuntu:latest
RUN apt update && apt install -y nodejs npm
CMD ["node"]

Bauen und starten Sie das Image wie gewohnt:

docker build -t node-dev .
docker run -it node-dev

Nun können Sie node im Container verwenden und JavaScript-Anwendungen entwickeln.

8. FAQ & Fehlerbehebung

Bei der Nutzung von Docker können verschiedene Probleme auftreten. Hier finden Sie häufige Fragen und Lösungsansätze.

Unterschied zwischen Docker und virtueller Maschine

  • Docker: Teilt den Kernel des Host-OS, ist dadurch leichtgewichtig und schnell startklar.
  • Virtuelle Maschine (VM): Hat ein eigenes OS, verbraucht mehr Ressourcen und startet langsamer.

Docker eignet sich daher besonders für effiziente Entwicklungsumgebungen und automatisierte Deployments.

Datenpersistenz im Ubuntu-Container

Um Daten auch nach dem Stoppen des Containers zu behalten, nutzen Sie Volume Mounts:

docker run -v my_data:/data ubuntu

Auch nach dem Löschen des Containers bleiben die Daten im Volume my_data erhalten und können wiederverwendet werden.

Häufige Fehler und Lösungen

1. permission denied-Fehler

Erscheint beim Ausführen von Docker der Fehler permission denied, ist Ihr Benutzer möglicherweise nicht in der docker-Gruppe.

Fügen Sie sich mit folgendem Befehl hinzu:

sudo usermod -aG docker $USER

Melden Sie sich anschließend ab und wieder an, damit die Änderung wirksam wird.

2. image not found-Fehler

Wenn ein Image aus dem Docker Hub entfernt wurde, geben Sie eine spezifische Version an:

docker pull ubuntu:22.04

Mit einer Versionsangabe erhalten Sie das passende Image.

 

年収訴求