Golang-Entwicklung: Verwenden Sie die Docker-Containerisierung, um Anwendungen bereitzustellen, die spezifische Codebeispiele erfordern.
Einführung:
Docker ist eine Open-Source-Containerisierungsplattform, die Anwendungen und ihre Abhängigkeiten problemlos in einen unabhängigen tragbaren Container packen und in jeder Umgebung ausführen kann . Für Entwickler kann die Verwendung von Docker die Anwendungsbereitstellung und -wartung vereinfachen.
In diesem Artikel wird erläutert, wie Sie mithilfe der Docker-Containerisierung von Golang entwickelte Anwendungen bereitstellen, und es werden spezifische Codebeispiele bereitgestellt.
1. Docker installieren
Zuerst müssen wir Docker installieren. Docker stellt offiziell Installationspakete für jede Plattform bereit, und Sie können die entsprechende Version für die Installation entsprechend Ihrem eigenen System auswählen. Überprüfen Sie nach Abschluss der Installation mit dem Docker-Versionsbefehl, ob die Installation erfolgreich ist.
2. Eine Golang-Anwendung schreiben
Als nächstes schreiben wir eine einfache Golang-Anwendung als Beispiel. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen main.go mit folgendem Inhalt:
package main import "fmt" func main() { fmt.Println("Hello, Docker!") }
3. Erstellen Sie eine Docker-Datei
Erstellen Sie eine Docker-Datei im Stammverzeichnis der Anwendung. Dockerfile wird verwendet, um die Schritte und die Konfiguration zum Erstellen eines Docker-Images zu definieren. In der Docker-Datei müssen wir das Basis-Image angeben, Anwendungsdateien hinzufügen, das Arbeitsverzeichnis festlegen usw. Das Folgende ist ein einfaches Dockerfile-Beispiel:
FROM golang:latest WORKDIR /app COPY . . RUN go build -o main . CMD ["./main"]
In der obigen Dockerfile verwenden wir golang:latest als Basis-Image, geben das Arbeitsverzeichnis als /app an und kopieren alle Dateien im aktuellen Verzeichnis in das /app-Verzeichnis im Image Runter. Kompilieren Sie als Nächstes die Anwendung mit dem Befehl go build und geben Sie mit CMD den Startbefehl der Anwendung an.
4. Erstellen Sie das Docker-Image
Geben Sie im Terminal das Stammverzeichnis der Anwendung ein und führen Sie den folgenden Befehl aus, um das Docker-Image zu erstellen:
docker build -t my-golang-app .
Dabei wird der Parameter -t verwendet, um den Namen und die Bezeichnung von anzugeben Das Bild nennen wir hier „my -golang-app“, und die Bezeichnung verwendet die Standardeinstellung „latest“.
5. Führen Sie den Docker-Container aus.
Nachdem der Build abgeschlossen ist, können wir den folgenden Befehl verwenden, um den Docker-Container auszuführen:
docker run my-golang-app
6. Ordnen Sie den Container-Port dem Host zu.
Standardmäßig können Anwendungen im Container nicht direkt ausgeführt werden über das Netzwerk abgerufen werden. Wenn wir die Anwendung im Container einem externen Zugriff zugänglich machen müssen, können wir den Container-Port dem Host zuordnen. Die Portzuordnung kann mit dem folgenden Befehl erfolgen:
docker run -p 8080:8080 my-golang-app
Im obigen Befehl ordnen wir den 8080-Port des Containers dem 8080-Port des Hosts zu. Auf diese Weise können wir auf die Anwendung zugreifen, indem wir auf Port 8080 des Host-Computers zugreifen.
7. Zusammenfassung
In diesem Artikel wird erläutert, wie Sie mit der Docker-Containerisierung von Golang entwickelte Anwendungen bereitstellen. Wir definieren die Schritte und die Konfiguration zum Erstellen des Images, indem wir eine Docker-Datei schreiben, dann den Befehl „docker build“ verwenden, um das Image zu erstellen, und schließlich den Befehl „docker run“ verwenden, um den Container auszuführen. Darüber hinaus wird beschrieben, wie der Container-Port dem Host zugeordnet wird, um den externen Zugriff auf die Anwendung zu erleichtern. Ich hoffe, dieser Artikel ist hilfreich für die Bereitstellung von Golang-Anwendungen mit Docker.
Referenzmaterialien:
Das obige ist der detaillierte Inhalt vonGolang-Entwicklung: Anwendungen mithilfe der Docker-Containerisierung bereitstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!