Heim  >  Artikel  >  Backend-Entwicklung  >  So stellen Sie Webanwendungen mit Docker+Golang bereit

So stellen Sie Webanwendungen mit Docker+Golang bereit

PHPz
PHPzOriginal
2023-04-06 09:11:06626Durchsuche

Docker und Golang sind heute die beiden angesagtesten Technologien. Als Vertreter der Containertechnologie ist Golang eine effiziente Programmiersprache, die bei der Entwicklung von Webanwendungen und Systemprogrammen weit verbreitet ist. In diesem Artikel wird erläutert, wie Sie mit Docker und Golang die Bereitstellung von Webanwendungen implementieren.

1. Docker installieren

Die Installation von Docker ist sehr einfach. Sie können das Installationspaket der entsprechenden Plattform zur Installation herunterladen. Nachdem die Installation abgeschlossen ist, können Sie überprüfen, ob die Installation erfolgreich war, indem Sie den Docker-Befehl ausführen.

2. Schreiben Sie eine Golang-Webanwendung

Lassen Sie uns eine einfache Golang-Webanwendung schreiben. Der Code lautet wie folgt:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, Docker and Golang!")
}

Dieses Programm ist ein einfacher HTTP-Server, der Port 8080 abhört und über die Handler-Funktion auf Client-Anfragen antwortet. . Jetzt können wir dieses Programm lokal ausführen und über einen Browser auf http://localhost:8080 zugreifen. Auf der Seite wird ein Satz angezeigt: „Hallo, Docker und Golang!“.

3. Erstellen Sie ein Docker-Image

In Docker enthält ein Image alle Abhängigkeiten und Dateien einer Anwendung und kann auf jedem Docker-Container ausgeführt werden. Wir müssen ein Docker-Image erstellen, um die Golang-Anwendung zu verpacken, damit sie auf jedem Docker-Container ausgeführt werden kann.

Zuerst müssen wir eine Datei namens Dockerfile erstellen und darin den folgenden Inhalt definieren:

FROM golang:alpine
COPY . /app
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]

Dieses Dockerfile definiert einen Docker-Container basierend auf dem Alpine-Image und kopiert unsere Anwendung in das /app-Verzeichnis. Führen Sie dann den Befehl „go build“ aus, um unsere Anwendung zu kompilieren, und benennen Sie die kompilierte Binärdatei „main“. Verwenden Sie abschließend den CMD-Befehl, um den Befehl anzugeben, der aufgerufen werden soll, wenn der Container ausgeführt wird, d. h. unsere Anwendung auszuführen.

Als nächstes müssen wir den Docker-Build-Befehl verwenden, um ein Docker-Image zu erstellen. Der Befehl lautet wie folgt:

docker build -t my-golang-app .

Dieser Befehl führt die Dockerfile-Datei im aktuellen Verzeichnis aus und nennt das generierte Image my-golang-app.

4. Führen Sie den Docker-Container aus

Jetzt haben wir bereits ein Docker-Image mit dem Namen my-golang-app. Der Befehl lautet wie folgt:

docker run -p 8080:8080 my-golang-app

Dieser Befehl wird gestartet auf der aktuellen Maschine Ein Docker-Container und ordnet Port 8080 im Container dem Port 8080 des Hosts zu. Jetzt können wir im Browser auf http://localhost:8080 zugreifen und auf der Seite wird ein Satz angezeigt: „Hallo, Docker und Golang!“, der anzeigt, dass unser Programm erfolgreich im Docker-Container ausgeführt wurde.

5. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit Docker und Golang Webanwendungen bereitstellen, einschließlich der Erstellung von Docker-Images und der Ausführung von Docker-Containern. Ich glaube, dass die Leser durch die Einleitung dieses Artikels verstanden haben, wie man Golang-Anwendungen als Docker-Images verpackt und das Programm auf jedem Docker-Container ausführt.

Das obige ist der detaillierte Inhalt vonSo stellen Sie Webanwendungen mit Docker+Golang bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn