Docker - es ist eine Plattform, um die Entwicklung, Bereitstellung und Ausführung von Anwendungen in Containern zu automatisieren. Mit Docker-Containern können Sie Ihre Anwendung und ihre Abhängigkeiten in einer isolierten Umgebung verpacken, was die Portabilität und Berechenbarkeit der Software gewährleistet.
Dockerfile ist eine Textdatei, die Anweisungen zum Automatisieren des Erstellens und Ausführen eines Docker-Images enthält. Das Erstellen einer Dockerfile ist der erste Schritt beim Erstellen eines Ubuntu-basierten Docker-Images.
In diesem Artikel erhalten Sie eine schrittweise Anleitung zum Erstellen einer Dockerfile für einen Ubuntu-Container. Sie benötigen ein grundlegendes Verständnis von Docker und seinen Befehlen, um diese Schritte auszuführen.
Vorbereiten der Arbeitsumgebung
Bevor Sie mit der Erstellung einer Dockerfile für Ubuntu beginnen, müssen Sie die Arbeitsumgebung vorbereiten, indem Sie die erforderlichen Komponenten installieren:
| Komponente | Die Beschreibung | Installationsbefehl |
| Docker | Eine Containerisierungsplattform, mit der Sie Anwendungen in isolierten Containern ausführen können | sudo apt-get install docker.io |
| Git | Versionskontrollsystem zur Verwaltung und Verfolgung von Änderungen am Quellcode | sudo apt-get install git |
| Text Editor (Texteditor) | Ein Editor, mit dem Sie Dockerfile erstellen und bearbeiten können | Wählen Sie einen für Sie geeigneten Editor aus, z. B. sudo apt-get install nano, um Nano zu installieren, oder sudo apt-get install vim, um Vim zu installieren |
Nachdem Sie alle erforderlichen Komponenten installiert haben, können Sie mit der Erstellung einer Dockerfile für Ubuntu beginnen.
Installieren von Docker und Docker Compose
Um Docker-Images zu erstellen und die Container zu verwalten, müssen Sie Docker und Docker Compose auf Ihrem System installieren. In diesem Abschnitt werden wir schrittweise Anweisungen zur Installation dieser Tools auf Ubuntu erläutern.
Installieren von Docker
1. Stellen Sie sicher, dass alle vorherigen Docker-Installationen von Ihrem System entfernt wurden:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
2. Aktualisieren Sie den Paketindex, und installieren Sie die erforderlichen Abhängigkeiten:
$ sudo apt-get update$ sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
3. Fügen Sie den offiziellen GPG-Docker-Schlüssel hinzu:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4. Fügen Sie das offizielle Docker-Repository zur Liste der Paketquellen hinzu:
$ echo "deb [arch=amd64 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
5. Aktualisieren Sie den Paketindex mit dem neuen Repository und installieren Sie Docker:
$ sudo apt-get update$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6. Überprüfen Sie, ob Docker erfolgreich installiert wurde, indem Sie den hello-world-Container ausführen:
$ sudo docker run hello-world
Installieren von Docker Compose
1. Laden Sie die aktuelle stabile Version von Docker Compose vom offiziellen GitHub-Repository herunter:
$ sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. Fügen Sie Berechtigungen zum Ausführen der heruntergeladenen Datei hinzu:
$ sudo chmod +x /usr/local/bin/docker-compose
3. Überprüfen Sie, ob Docker Compose erfolgreich installiert wurde, indem Sie den Befehl ausführen:
$ docker-compose --version
Jetzt sollten Docker und Docker Compose erfolgreich auf Ihrem Ubuntu-System installiert werden. Sie können mit dem Erstellen von Docker-Images und dem Verwalten von Containern beginnen.
Das ursprüngliche Ubuntu-Image erhalten
Um das Ubuntu-Originalabbild zu erhalten, müssen Sie den folgenden Befehl an der Docker-Eingabeaufforderung ausführen:
docker pull ubuntu
Wenn Sie diesen Befehl ausführen, wird die neueste Version des Ubuntu-Quellabbilds aus dem öffentlichen Docker Hub-Repository heruntergeladen. Sobald der Download abgeschlossen ist, können Sie das Quellabbild verwenden, um Ihr eigenes Docker-Image zu erstellen.
Denken Sie daran, dass Docker-Images im Laufe der Zeit aktualisiert werden können, daher wird empfohlen, das ursprüngliche Ubuntu-Image regelmäßig zu aktualisieren, um die neueste Version zu verwenden.
Jetzt, da Sie das Ubuntu-Original-Image haben, können Sie mit dem nächsten Schritt fortfahren - eine Dockerfile erstellen und Ihr eigenes Ubuntu-basiertes Docker-Image einrichten.
Erstellen einer Dockerfile
Zunächst müssen Sie Docker auf Ihrem Computer installieren. Danach können Sie mit der Erstellung der Dockerfile beginnen.
Die erste Zeile einer Dockerdatei gibt normalerweise das Basisabbild an, das Sie verwenden möchten. Um beispielsweise ein Ubuntu-basiertes Image zu erstellen, können Sie die folgende Anweisung verwenden:
Als nächstes können Sie Anweisungen zur Installation der erforderlichen Pakete und Programme hinzufügen. Zum Beispiel, um einen Node zu installieren.js, Sie können die folgende Anweisung verwenden:
RUN apt-get update && apt-get install -y nodejs
Sie können auch Dateien aus Ihrer lokalen Umgebung mithilfe der COPY-Anweisung in ein Docker-Image kopieren. Zum Beispiel, um eine App-Datei zu kopieren.js im Bild können Sie die folgende Anweisung verwenden:
COPY app.js /usr/src/app/
Wenn Ihre Anwendung bestimmte Einstellungen erfordert, können Sie die RUN-Anweisung verwenden, um die Konfiguration zu ändern. Um beispielsweise die Umgebungsvariable PORT festzulegen, können Sie die folgende Anweisung verwenden:
RUN export PORT=3000
Schließlich können Sie Ihre Anwendung mit der CMD-Anweisung starten. Zum Beispiel, um eine Node-Anwendung zu starten.js, Sie können die folgende Anweisung verwenden:
Dies sind die grundlegenden Schritte zum Erstellen einer Dockerfile. Sie können je nach Bedarf weitere Anweisungen hinzufügen, die Sie benötigen.
Erstellen einer Dockerfile
Um einen Docker-Container zu erstellen, müssen Sie eine Dockerfile erstellen, die Anweisungen zum Erstellen eines Containerimages enthält.
Im Folgenden finden Sie ein Beispiel für eine einfache Dockerfile zum Erstellen eines Ubuntu-Images:
- FROM ubuntu:latest - gibt das Basisabbild an, in diesem Fall Ubuntu.
- RUN apt-get update - aktualisiert Pakete im Container.
- RUN apt-get install -y nginx - installiert das Nginx-Paket in einem Container.
- COPY index.html /var/www/html - Kopiert die Index-Datei.html in das Verzeichnis des Containers /var/www/html.
- EXPOSE 80 - öffnet Port 80 im Container.
- CMD ["nginx", "-g", "daemon off;"] - startet Nginx beim Start im Container.
Dies ist nur ein Beispiel, und die tatsächliche Dockerfile hängt von Ihren Anforderungen ab.
Nachdem Sie eine Dockerfile erstellt haben, können Sie das Image mit dem Befehl docker build erstellen. Zum Beispiel:
- docker build -t my-ubuntu-image . - sammelt ein Image mit dem Tag "my-ubuntu-image" aus dem aktuellen Verzeichnis.
Nachdem Sie den Befehl erfolgreich ausgeführt haben, erhalten Sie ein fertiges Image, das Sie verwenden können, um Ubuntu-basierte Container mit vorinstalliertem Nginx zu erstellen und auszuführen.
Definieren eines Basisabbilds
Eine Dockerfile für Ubuntu verwendet normalerweise ein offizielles Ubuntu-Image, das aus dem Docker Hub-Repository vorinstalliert ist. Es ist möglich, verschiedene Versionen von Ubuntu zu verwenden, abhängig von den Projektanforderungen. Zum Beispiel kann man in einer Dockerfile angeben, ob Ubuntu 18.04 oder Ubuntu 20.04 verwendet werden soll.
Beispiel für die Definition eines Ubuntu-Basisabbilds in einer Dockerfile:
| FROM | ubuntu:18.04 |
In diesem Beispiel wird das Basisabbild von Ubuntu 18.04 verwendet. Verwenden Sie die Anweisung, um das Basisabbild anzugeben FROM, nach dem der Name des Abbilds und die Version des Abbilds angegeben werden.
Das Definieren eines Basisabbilds ist ein notwendiger Schritt beim Erstellen einer Dockerfile, da die Auswahl eines Basisabbilds davon abhängt, wie Sie die erforderlichen Pakete installieren und den Container konfigurieren.
Installieren der erforderlichen Pakete und Abhängigkeiten
Bevor Sie eine Dockerfile für Ubuntu erstellen, müssen Sie die erforderlichen Pakete und Abhängigkeiten installieren, die im Container verwendet werden sollen. Hier ist eine Schritt-für-Schritt-Anleitung zur Installation:
Schritt 1: Aktualisieren der Paketliste
Als erstes führen Sie den folgenden Befehl aus, um die Paketliste in Ihrem Ubuntu zu aktualisieren:
sudo apt-get update
Schritt 2: Installieren von Kernpaketen und Abhängigkeiten
Installieren Sie als Nächstes die folgenden Pakete und Abhängigkeiten:
sudo apt-get install -y package1 package2 package3
Hier sind package1, package2 und package3 die Namen der Pakete und Abhängigkeiten, die Sie installieren müssen. Ersetzen Sie sie durch diejenigen, die Sie in Ihrem Container verwenden möchten.
Schritt 3: Andere erforderliche Pakete und Abhängigkeiten installieren
Neben den Hauptpaketen und Abhängigkeiten müssen Sie möglicherweise auch zusätzliche Pakete und Abhängigkeiten für Ihren Container installieren. Sie können sie mit einem ähnlichen Befehl installieren:
sudo apt-get install -y package4 package5 package6
Ersetzen Sie package4, package5 und package6 erneut durch die Namen der Pakete und Abhängigkeiten, die Sie installieren möchten.
Schritt 4: Vorbereiten der Erstellung einer Dockerfile
Nachdem Sie alle erforderlichen Pakete und Abhängigkeiten installiert haben, können Sie mit dem Erstellen einer Dockerfile für Ihren Ubuntu-Container fortfahren. Im nächsten Abschnitt finden Sie Anweisungen zu diesem Vorgang.
Jetzt haben Sie alle benötigten Pakete und Abhängigkeiten für Ihren Ubuntu-basierten Docker-Container. Gehen Sie weiter, um zu lernen, wie Sie eine Dockerfile erstellen und Ihren Container zusammenstellen können.
Konfiguration der Arbeitsumgebung
Nachdem Sie Ubuntu im Docker-Container installiert haben, müssen Sie die Arbeitsumgebung so konfigurieren, dass sie effizient funktioniert. In diesem Abschnitt betrachten wir die grundlegenden Konfigurationsschritte.
1. Erforderliche Pakete installieren
Installieren Sie zunächst die erforderlichen Pakete, die Sie für die Arbeit benötigen. Um Pakete in Ubuntu zu installieren, verwenden Sie den Befehl apt-get install. Führen Sie beispielsweise den folgenden Befehl aus, um ein vim-Paket zu installieren:
apt-get install vim
Sie können alle erforderlichen Pakete wie git, curl, wget usw. installieren.
2. Anpassen der Umgebung
Für eine einfache Bedienung müssen Sie möglicherweise Ihre Umgebung anpassen, z. B. Umgebungsvariablen festlegen oder Befehlszeilenoptionen konfigurieren. In Ubuntu befinden sich die Einstellungsdateien im Verzeichnis /etc. Bearbeiten Sie die benötigten Dateien mit einem Texteditor wie vim:
vim /etc/environment
Nachdem Sie die erforderlichen Änderungen vorgenommen haben, speichern Sie die Datei, und starten Sie die Arbeitsumgebung neu, um die Änderungen anzuwenden.
3. Installieren und Konfigurieren der Software
Wenn Sie bestimmte Software verwenden möchten, müssen Sie diese möglicherweise installieren und konfigurieren. Sie können die Befehle verwenden, um Programme zu installieren apt-get oder dpkg abhängig von der Quelle und dem Pakettyp. Nachdem Sie das Programm installiert haben, führen Sie den entsprechenden Konfigurationsbefehl aus, wenn es nicht automatisch gestartet wird.
Abhängig von Ihrer Aufgabe benötigen Sie möglicherweise zusätzliche Konfigurationsschritte. Befolgen Sie die Anweisungen des Softwareentwicklers oder -herstellers, um das Programm ordnungsgemäß zu konfigurieren.
An diesem Punkt schließen Sie die Konfiguration der Arbeitsumgebung im Ubuntu Docker-Container ab. Jetzt können Sie mit der Arbeit an Ihrem Projekt beginnen!
Installieren und Konfigurieren von Anwendungen und Diensten
Nachdem wir ein grundlegendes Ubuntu-Image in Dockerfile erstellt haben, können wir mit der Installation und Konfiguration verschiedener Anwendungen und Dienste beginnen. In diesem Abschnitt betrachten wir einige Beispiele für einfache Installationen.
1. Installieren eines Pakets mit dem Befehl apt-get:
Um das Paket in Ubuntu zu installieren, können wir den Befehl verwenden apt-get install. Um beispielsweise einen Apache-Server zu installieren, können wir der Dockerfile die folgende Zeile hinzufügen:
RUN apt-get update && apt-get install -y apache2
Dieser Befehl aktualisiert die Paketliste und installiert das Paket apache2 in den Container.
2. Herunterladen und Installieren der App:
Manchmal müssen wir möglicherweise eine Anwendung aus dem Quellcode herunterladen und installieren. Zum Beispiel, um einen Node zu installieren.js, wir können die folgenden Zeilen zur Dockerfile hinzufügen:
RUN apt-get update && apt-get install -y curlRUN curl -sL https://deb.nodesource.com/setup_14.x | bash -RUN apt-get install -y nodejs
Der erste Befehl installiert das Paket curl, mit dem Sie Dateien aus dem Internet herunterladen können. Der zweite Befehl lädt das Skript herunter und führt es aus, um Node zu installieren.js. Schließlich installiert der letzte Befehl das Paket nodejs.
3. Service einrichten:
Nach der Installation des Dienstes können wir ihn mit verschiedenen Befehlen anpassen. Zum Beispiel können wir für den Apache-Server dem Dockerfile den folgenden Befehl hinzufügen:
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
Dieser Befehl fügt der Apache-Konfigurationsdatei des Servers die Zeichenfolge "ServerName localhost" hinzu. Mit dieser Einstellung können Sie den vom Server verwendeten primären Hostnamen angeben.
Dies ist nur ein kleines Beispiel dafür, wie Anwendungen und Dienste in einer Dockerfile installiert und konfiguriert werden können. Wenn Sie Ihre Dockerfile erstellen, können Sie alle anderen erforderlichen Befehle und Einstellungen für Ihre Anwendungen hinzufügen.