Verwendung einer Docker-Datei zur Erstellung eines Docker-Images
Dockerize Your Apps auf AlexHost: Beherrschung von Dockerdateien
Warum Docker auf AlexHost verwenden? Ein Dockerfile skriptet die Umgebung Ihrer Anwendung und macht sie portabel und konsistent. Die leistungsstarken VPS und dedizierten Server von AlexHost mit NVMe-Speicher und Root-Zugriff bieten eine robuste Plattform für die Entwicklung und Bereitstellung von Docker-Anwendungen wie Node.js oder WordPress. Dieser Leitfaden erklärt Dockerdateien und wie man sie auf AlexHost in 2025 erstellt, baut und ausführt.
Schritt-für-Schritt-Anleitung zum Erstellen eines Dockerfiles und Erstellen eines Images
Schritt 1: Erstellen Sie Ihr Projekt
Zu Beginn benötigen Sie eine einfache Anwendung, die Sie in einen Container packen möchten. Für dieses Beispiel werden wir eine einfache Node.js-Anwendung erstellen. Wenn Sie Node.js nicht installiert haben, können Sie diese Schritte befolgen, um eine einfache Node.js-Anwendung zu erstellen
- Erstellen Sie ein Projektverzeichnis:
- Erstellen Sie eine package.json-Datei für Ihre Node.js-Anwendung:
- Erstellen Sie eine server.js-Datei:
- Fügen Sie den folgenden Inhalt in die Datei server.js ein:
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => { res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello Worldn'); });
server.listen(port, hostname, () => {
console.log(Server running at http://${hostname}:${port}/); });
Sobald Sie Ihre Hauptanwendung haben, besteht der nächste Schritt darin, eine Dockerdatei zu erstellen, die zum Erstellen eines Docker-Images für diese Anwendung verwendet wird
- Erstellen Sie die Dockerdatei im Stammverzeichnis des Projekts:
- Fügen Sie dem Dockerfile Anweisungen hinzu:
Hier ist eine einfache Dockerdatei für Ihre Node.js-Anwendung:
FROM node:14 # Use an official Node.js runtime as a base image
WORKDIR /app # Set the working directory inside the container
COPY package*.json ./ # Copy package.json and install dependencies
RUN npm install
COPY . . # Copy the rest of the application code
EXPOSE 3000 # Expose the port that the app runs on
CMD ["node", "server.js"] # Command to run the application
Erklärung der Dockerdatei:
- FROM: Gibt das Basis-Image an, auf dem Ihr Image erstellt werden soll. In diesem Fall ist es das offizielle Node.js 14 Image.
- WORKDIR: Legt das Arbeitsverzeichnis im Container fest. Alle nachfolgenden Befehle werden in diesem Verzeichnis ausgeführt.
- COPY: Kopiert Dateien von der Host-Maschine in den Docker-Container
- COPY package*.json ./: Dies kopiert die Dateien package.json und package-lock.json .
- COPY ..: Kopiert das gesamte Projekt in den Container.
- RUN: Führt einen Befehl im Container aus, in diesem Fall npm install, um die Node.js-Abhängigkeiten zu installieren.
- EXPOSE: Informiert Docker, dass der Container auf Port 3000 lauscht.
- CMD: Gibt den Befehl an, der beim Start des Containers ausgeführt werden soll (in diesem Fall die Ausführung der Node.js-Anwendung mit node server.js).
Schritt 3: Erstellen Sie das Docker-Image
Sobald Sie Ihr Dockerfile vorbereitet haben, können Sie das Docker-Image mit dem Befehl docker build erstellen
- Führen Sie im Projektverzeichnis den folgenden Befehl aus:
Der Befehl führt Folgendes aus
- –t my-docker-app.
- Die Schaltfläche . gibt das aktuelle Verzeichnis an (in dem sich die Dockerdatei befindet).
Docker verarbeitet die Dockerdatei Schritt für Schritt und erstellt das Image gemäß Ihren Anweisungen. Wenn alles korrekt eingerichtet ist, sollten Sie eine Meldung sehen, dass das Image erfolgreich erstellt wurde
Schritt 4: Starten Sie den Docker-Container
Sobald das Image erstellt ist, können Sie mit dem Befehl docker run einen Container erstellen und starten
- –p 3000:3000: Stimmt Port 3000 auf Ihrem lokalen Rechner mit Port 3000 im Container ab.
- my-docker-app: Der Name des von Ihnen erstellten Docker-Images.
Sie sollten die Meldung sehen: Der Server läuft unter http://0.0.0.0:3001/.Um die Anwendung zu testen, öffnen Sie Ihren Webbrowser oder verwenden Sie curl, um die Anwendung zu besuchen
Schritt 5: Senden Sie das Docker-Abbild an Docker Hub (optional)
Wenn Sie Ihr Image mit anderen teilen oder auf einem Server hosten möchten, können Sie es an Docker Hub senden
- Melden Sie sich zunächst bei Docker Hub an:
- Dann markieren Sie Ihr Bild mit Ihrem Benutzernamen in Docker Hub:
- Senden Sie das Image an Docker Hub:
Ihr Docker-Image ist nun öffentlich (oder privat) in Docker Hub verfügbar
Bewährte Verfahren für Dockerdateien
- Verwenden Sie kleine und spezifische Basis-Images: Wenn möglich, verwenden Sie leichtgewichtige Basis-Images wie Alpine, um die Größe des Images zu reduzieren.
- Minimieren Sie die Anzahl der Schichten: Jeder Befehl im Dockerfile erzeugt eine neue Schicht. Versuchen Sie, die Anzahl der Ebenen zu minimieren, indem Sie Befehle kombinieren, wann immer dies möglich ist (verwenden Sie z. B. &&, um mehrere Befehle in einer einzigen RUN-Anweisung zu kombinieren).
- Verwenden Sie einen mehrstufigen Build: Dies hilft, die Größe des endgültigen Images zu reduzieren, indem die Build-Umgebung von der Run-Umgebung getrennt wird.
- Verwenden Sie die Zwischenspeicherung: Docker speichert jede Schicht des Abbilds, so dass die Wiederverwendung derselben Befehle (wie COPY und RUN) dazu beiträgt, nachfolgende Builds zu beschleunigen.
Schlussfolgerung: Dockerisieren mit AlexHost
Dockerdateien machen Ihre Anwendungen portabel und skalierbar, und der NVMe-betriebene VPS von AlexHost sorgt für schnelle Builds und Bereitstellungen. Erstellen Sie schlanke Dockerdateien, verwenden Sie mehrstufige Builds und sichern Sie mit UFW. Egal, ob es sich um eine Node.js-Anwendung oder WordPress handelt, der Root-Zugriff und die Unterstützung von AlexHost machen Docker zu einem Kinderspiel – Containern Sie Ihre Anwendung und stellen Sie sie noch heute mit Vertrauen bereit!