So erstellen Sie Ihr eigenes Docker-Image unter Linux

Wollten Sie schon immer Ihr eigenes Docker- Image erstellen ? Wie sich herausstellt, ist dies mit einer sogenannten „Docker-Datei“ möglich. In dieser Anleitung erfahren Sie, wie Sie Ihr eigenes Docker-Image erstellen.

So installieren Sie Docker unter Linux

Sie müssen Docker auf Ihrem Linux-Server installiert haben, bevor Sie versuchen, ein neues Image zu erstellen. Glücklicherweise lässt sich Docker problemlos auf einer Vielzahl von Linux-Betriebssystemen installieren. In diesem Handbuch konzentrieren wir uns auf Ubuntu, Debian , Arch Linux, Fedora und OpenSUSE .

Um Docker zu installieren, öffnen Sie ein Terminal. Sobald es geöffnet ist, kann die Installation beginnen. Befolgen Sie die unten aufgeführten Installationsanweisungen, die dem von Ihnen verwendeten Linux-Betriebssystem entsprechen.

Ubuntu/Debian

Sie müssen zunächst den Softwareindex auf Ihrem Ubuntu/Debian-System aktualisieren. Führen Sie dazu den folgenden apt update- Befehl aus.

Sudo apt-Update

Sie müssen jetzt das HTTPS-Transportpaket installieren, um über HTTPS zu installieren. Sie müssen außerdem Curl und einige andere Pakete installieren. Diese Pakete können mit dem Befehl apt install installiert werden .

Sudo apt install apt-transport-https ca-certificates curl software-properties-common

Nachdem die Pakete installiert sind, ist es an der Zeit, den Docker-GPG-Schlüssel auf Ihrem Ubuntu/Debian-System zu aktivieren. Dieser Schlüssel stellt sicher, dass die Installation von Paketen unter Ubuntu sicher ist.

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

Wenn der GPG-Schlüssel aktiviert ist, ist es an der Zeit, das Docker-Repo zu aktivieren. Führen Sie dazu den folgenden Echo- Befehl in einem Terminal aus.

echo „deb [arch=amd64 signiert von=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stabil“ | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Wenn Sie das Docker-Repository aktiviert haben, führen Sie den Befehl apt update erneut aus , um den Softwareindex zu aktualisieren.

Sudo apt-Update

Abschließend können Sie die benötigten Docker-Pakete auf Ubuntu oder Debian installieren.

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

Arch Linux

Wenn Sie Arch Linux verwenden, können Sie einfach den Befehl pacman -S ausführen und das „docker“-Paket installieren, um Docker auf Ihrem System zum Laufen zu bringen.

sudo pacman -S Docker

Wenn das Docker-Paket auf Ihrem Arch-System installiert ist, führen Sie die folgenden systemctl- Befehle aus, um die Software zu aktivieren.

sudo systemctl aktiviert Docker. sudo systemctl startet Docker

Fedora

Docker unter Fedora zum Laufen zu bringen ist ziemlich einfach. Verwenden Sie zunächst den Befehl dnf install , um die Software auf Ihrem System zu installieren.

sudo dnf Docker installieren

Sobald das Paket auf Ihrem Fedora-System installiert ist, aktivieren Sie es mit systemd.

sudo systemctl aktiviert Docker. sudo systemctl startet Docker

OpenSUSE

Damit Docker unter OpenSUSE funktioniert, müssen Sie das Docker-Repository hinzufügen.

sudo zypper addrepo https://download.docker.com/linux/opensuse/$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)/x86_64/stable docker

Als nächstes aktualisieren Sie Zypper und installieren die Software.

Sudo Zypper Refresh

sudo zypper installiere docker-ce

Aktivieren Sie abschließend Docker auf Ihrem System mit systemd.

sudo systemctl aktiviert Docker. sudo systemctl startet Docker

So wählen Sie Ihr Basisbild aus

Jedes von DockerHub entnommene Docker-Image wird mit einem Basis-Image erstellt. Sie müssen also ein Basis-Image für Ihren Docker-Container auswählen. In diesem Handbuch verwenden wir Ubuntu, da es eines der am besten kompatiblen Linux-Betriebssysteme ist.

In dieser Anleitung zeigen wir Ihnen ein Beispiel, wie Sie mit Ubuntu 22.04 ein Drupal 10-Image erstellen. Diese Build-Anweisungen können jedoch auf alles angewendet werden, was Sie erstellen möchten, von Web-Apps bis hin zu Python-Programmen usw.

Öffnen Sie zunächst den Nano-Texteditor in einem Terminal. Sie verwenden Nano, um Ihre eigene Docker-Datei zu erstellen.

nano -w ~/dockerfile

Geben Sie im Nano-Texteditor den folgenden Code ein, um anzugeben, dass Sie Ubuntu verwenden möchten. Um Ubuntu 22.04 zu erhalten, geben Sie es an. Wenn Sie eine andere Ubuntu-Version verwenden möchten, finden Sie hier Informationen .

# Use the official Ubuntu base image
FROM ubuntu:22.04

So richten Sie das Arbeitsverzeichnis ein

Sie müssen ein Arbeitsverzeichnis in Ihrem Docker-Container einrichten. Das Arbeitsverzeichnis ist der Ort, an dem die Anwendung unter Ubuntu im Container bereitgestellt wird. In diesem Beispiel arbeiten wir mit Drupal 10. Drupal ist eine Webanwendung, daher müssen wir das WORKDIR auf /var/www/html/ festlegen.

Drücken Sie im Nano-Texteditor die Eingabetaste , um ein Leerzeichen zu erstellen. Fügen Sie dann den folgenden Code ein.

# Set the working directory in the container WORKDIR /var/www/html

So installieren Sie die Programmabhängigkeiten

Die Abhängigkeiten der Anwendung, die Sie in Ihrem Docker-Image bereitstellen, müssen erfüllt sein. Wenn nicht die richtigen Abhängigkeiten im Image installiert sind, funktioniert es nicht. Wir erstellen ein Drupal 10-Image basierend auf Ubuntu 22.04, daher müssen wir der Datei alle Drupal 10-Abhängigkeiten hinzufügen.

Drücken Sie im Nano-Texteditor die Eingabetaste , um ein Leerzeichen zu erstellen. Fügen Sie dann den folgenden Code ein.

# Install dependencies RUN apt-get update && apt-get install -y \ apache2 \ php \ libapache2-mod-php \ php-curl \ php-gd \ php-intl \ php-mbstring \ php-mysql \ php-pgsql \ php-xml \ php-zip \ unzip

So kopieren Sie den Programmcode

Der nächste Schritt im Prozess besteht darin, Ihre Docker-Datei mit dem Programmcode zu versehen. Als Beispiel verwenden wir erneut Drupal 10. Daher müssen wir der Docker-Datei die Möglichkeit geben, Drupal 10 herunterzuladen und zu extrahieren.

Drücken Sie im Nano-Texteditor die Eingabetaste , um eine neue Zeile zu erstellen. Fügen Sie dann den folgenden Code hinzu, damit Ihre Docker-Datei Drupal 10 herunterladen kann.

# Download and install Drupal RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \ tar -xvf drupal-10.2.tar.gz && \ mv drupal-10.2 .

So legen Sie Ports offen

Jedes Mal, wenn Sie einen Docker-Container bereitstellen, greift dieser auf Ports zu. Wenn Sie beispielsweise den Standard-Syncthing-Container ausführen, wird Port 8384 verfügbar gemacht. Nextcloud? Port 8080 und 80. Ihr Container muss die richtigen Ports freigeben, damit er ordnungsgemäß funktioniert.

Stellen Sie zunächst fest, auf welche Ports das von Ihnen bereitgestellte Programm Zugriff benötigt. In diesem Beispiel stellen wir Drupal 10 bereit. Da Drupal 10 ein CMS-System für einen Webserver ist, benötigt es Port 80. Daher legen wir in der Nano-Textdatei Port 80 offen.

# Expose the Drupal port EXPOSE 80

So legen Sie den Standardbefehl fest

Sie müssen den Standardbefehl in Ihrer Docker-Datei festlegen, damit Ihr Image beim Erstellen und Bereitstellen automatisch mit der Ausführung des Programms beginnt. In unserem Beispiel möchten wir, dass Drupal 10 sofort startet, sobald der Container bereitgestellt wird. Daher müssen wir der Docker-Datei einen Startbefehl hinzufügen.

Drücken Sie im Nano-Texteditor die Eingabetaste , um ein neues Leerzeichen in der Datei zu erstellen. Fügen Sie dann den folgenden Code ein.

# Start Apache in the foreground CMD ["apache2ctl", "-D", "FOREGROUND"]

Wenn Sie dieses letzte Codebit zur Datei hinzugefügt haben, speichern Sie es, indem Sie Strg + O drücken , und beenden Sie den Nano-Texteditor mit Strg + X. Die Docker-Datei sollte wie der folgende Code aussehen.

Hinweis: Dies ist eine Beispiel-Docker-Datei. Sie können das Drupal-Beispiel als Referenz verwenden, um Ihr eigenes Beispiel für jede gewünschte Anwendung zu erstellen.

FROM ubuntu:22.04

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
apache2 \
php \
libapache2-mod-php \
php-curl \
php-gd \
php-intl \
php-mbstring \
php-mysql \
php-pgsql \
php-xml \
php-zip \
unzip


# Download and install Drupal
RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \
tar -xvf drupal-10.2.tar.gz && \
mv drupal-10.2 .


# Expose the Drupal port
EXPOSE 80

# Start Apache in the foreground
CMD ["apache2ctl", "-D", "FOREGROUND"]

So erstellen Sie das Image

Um Ihr neues Docker-Image mit der von Ihnen erstellten Docker-Datei zu erstellen, geben Sie den folgenden Docker-Build- Befehl ein.

sudo docker build -t my-docker-image .

Der obige Befehl erstellt Ihr Docker-Image.

So stellen Sie das Image bereit

Um Ihr neues Image in einem Container bereitzustellen, müssen Sie den Docker-Run- Befehl verwenden . Um beispielsweise das neu erstellte Drupal 10-Ubuntu-Image auf Port 80 auszuführen, gehen Sie wie folgt vor.

sudo docker run -d --name my-drupal-container -p 80:80 my-docker-image

Leave a Comment

MP3-Diagnose: Beheben Sie bis zu 50 Probleme mit MP3-Audiodateien

MP3-Diagnose: Beheben Sie bis zu 50 Probleme mit MP3-Audiodateien

MP3 Diags ist das ultimative Tool zur Behebung von Problemen in Ihrer Musiksammlung. Es kann Ihre MP3-Dateien richtig taggen, fehlende Albumcover hinzufügen, VBR reparieren

Google Voice Desktop-Benachrichtigungs-Apps

Google Voice Desktop-Benachrichtigungs-Apps

Genau wie Google Wave hat Google Voice weltweit für Aufsehen gesorgt. Google will die Art und Weise, wie wir kommunizieren, verändern, und da es immer

Laden Sie Flickr-Favoriten mit FlickrFaves herunter

Laden Sie Flickr-Favoriten mit FlickrFaves herunter

Es gibt viele Tools, mit denen Flickr-Benutzer ihre Fotos in hoher Qualität herunterladen können. Gibt es jedoch eine Möglichkeit, Flickr-Favoriten herunterzuladen? Kürzlich sind wir auf

OK Sampler ist eine kostenlose Musik-Sampler-Software

OK Sampler ist eine kostenlose Musik-Sampler-Software

Was ist Sampling? Laut Wikipedia ist es der Vorgang, einen Teil oder ein Sample einer Tonaufnahme zu nehmen und ihn als Instrument oder

Google Sites-Backup: Importieren/Exportieren

Google Sites-Backup: Importieren/Exportieren

Google Sites ist ein Dienst von Google, mit dem Benutzer eine Website auf dem Google-Server hosten können. Es gibt jedoch ein Problem: Es gibt keine integrierte Option zum Sichern

Google Tasks-Desktopanwendung

Google Tasks-Desktopanwendung

Google Tasks ist nicht so beliebt wie andere Google-Dienste wie Kalender, Wave, Voice usw., wird aber dennoch häufig verwendet und ist ein fester Bestandteil der Benutzer

So stellen Sie verlorene Partitionen und Festplattendaten wieder her [Anleitung]

So stellen Sie verlorene Partitionen und Festplattendaten wieder her [Anleitung]

In unserem vorherigen Leitfaden zum sicheren Löschen der Festplatte und Wechselmedien über Ubuntu Live und DBAN-Boot-CD haben wir besprochen, dass Windows-basierte Festplatten

So klonen Sie eine Linux-Festplatte mit Gparted

So klonen Sie eine Linux-Festplatte mit Gparted

So klonen Sie eine Linux-Festplatte mit Gparted

So spielt man STALKER: Shadow of Chernobyl unter Linux

So spielt man STALKER: Shadow of Chernobyl unter Linux

STALKER: Shadow of Chernobyl ist ein Survival-Horror-FPS-Spiel, das von GSC Game World entwickelt und von THQ veröffentlicht wurde. In dieser Anleitung zeigen wir Ihnen, wie Sie es unter Linux zum Laufen bringen.

Linux: alle Benutzer auflisten [Guide]

Linux: alle Benutzer auflisten [Guide]

Unter Linux gibt es viele Tools, um Benutzer aufzulisten. Diese Anleitung zeigt Ihnen verschiedene Methoden, wie Sie alle Benutzer anzeigen können, inklusive versteckter Systembenutzer.