In der heutigen schnell iterativen Softwareentwicklungsumgebung wird der Prozess der Anwendungsbereitstellung zunehmend automatisiert und standardisiert. Ein großer Vorteil der Container-Technologie besteht darin, dass Anwendungen in verschiedenen Umgebungen bereitgestellt werden können und ihre Betriebsumgebung konsistent bleiben kann. Docker ist eine beliebte Containerisierungstechnologie, die eine standardisierte Ausführungsumgebung für Anwendungen bereitstellt, sodass Anwendungen problemlos auf verschiedenen Systemen bereitgestellt werden können. In diesem Artikel erfahren Sie, wie Sie Golang-Anwendungen in Docker-Containern bereitstellen.
Zuerst müssen wir eine Golang-Anwendung erstellen. Anhand eines einfachen Beispielprogramms demonstrieren wir, wie man es in einen Docker-Container packt. Erstellen Sie eine Datei namens „hello.go“ mit folgendem Inhalt:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
Führen Sie das Programm auf Ihrem lokalen Computer aus und überprüfen Sie, ob es „Hello, World!“ korrekt ausgibt.
Als nächstes müssen wir eine Docker-Datei erstellen, die definiert, wie unser Docker-Container erstellt wird. Erstellen Sie eine Datei mit dem Namen „Dockerfile“ in Ihrem Anwendungsverzeichnis und kopieren Sie den folgenden Inhalt hinein:
# 构建运行时镜像 FROM golang:1.16-alpine3.13 # 添加应用程序代码 ADD . /go/src/github.com/yourusername/hello # 将工作目录设置为应用程序代码目录 WORKDIR /go/src/github.com/yourusername/hello # 构建应用程序 RUN go build -o app # 将运行时容器暴露在8080端口 EXPOSE 8080 # 设置容器启动指令 CMD ["./app"]
Explain this Dockerfile. Zunächst verwenden wir das Bild golang:1.16-alpine3.13 im offiziellen Dockerhub von Golang als Basiscontainer, um sicherzustellen, dass wir über eine geeignete Golang-Umgebung verfügen. Anschließend fügen wir unseren Anwendungscode zum Container hinzu und legen das Arbeitsverzeichnis auf unser Anwendungsverzeichnis fest. Als nächstes erstellen wir die Anwendung und nennen sie „App“. Schließlich stellen wir den Container auf Port 8080 bereit und geben den Befehl an, der beim Start des Containers ausgeführt werden soll.
Jetzt sind wir bereit, das Docker-Image zu erstellen. Führen Sie den folgenden Befehl in Ihrem Anwendungsverzeichnis aus:
docker build -t hello .
Dieser Befehl erstellt ein Docker-Image mit dem Namen „hello“ unter Verwendung der zuvor erstellten Docker-Datei. Während des Build-Prozesses führt Docker jeden Befehl in der Docker-Datei aus und speichert ihn im Image. Die Erstellungszeiten variieren je nach Netzwerkgeschwindigkeit und lokaler Computerleistung. Nachdem der Build abgeschlossen ist, können Sie mit dem folgenden Befehl überprüfen, ob das neue Image erstellt wurde:
docker images
Sie sollten das Image mit dem Namen „hello“ sehen können.
Der letzte Schritt besteht darin, unsere Anwendung im Docker-Container bereitzustellen und auszuführen. Führen Sie den Docker-Container mit dem folgenden Befehl aus:
docker run -p 8080:8080 hello
Dieser Befehl startet einen Docker-Container mit dem Namen „container“ unter Verwendung des „hello“-Images, das wir gerade erstellt haben. Die Option „-p“ ordnet den Container-Port 8080 dem Host-Port 8080 zu, sodass wir über den Browser auf dem Host darauf zugreifen können. Nachdem Sie den Container ausgeführt haben, sollten Sie in einem Webbrowser auf dem Hostcomputer auf „http://localhost:8080“ zugreifen und die Ausgabe „Hello, World!“ sehen können.
Zusammenfassung
In diesem Beitrag haben wir gezeigt, wie man eine einfache Golang-Anwendung in einem Docker-Container bereitstellt. Von der Erstellung einer Golang-Anwendung über die Erstellung eines Docker-Images bis hin zur Ausführung eines Docker-Containers werden in diesem Artikel alle Schritte ausführlich erläutert. Hoffentlich ist dieser Artikel hilfreich für Entwickler, die nach Möglichkeiten suchen, ihre Golang-Anwendungen in Docker-Containern bereitzustellen.
Das obige ist der detaillierte Inhalt vonGolang für Docker bereitgestellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!