Mit der kontinuierlichen Weiterentwicklung der Internettechnologie übernehmen immer mehr Unternehmen und Teams eine Microservice-Architektur, um Anwendungen zu entwickeln und bereitzustellen. Unter diesen erfreut sich die Verwendung von Docker-Containern für die Anwendungsbereitstellung und -verwaltung zunehmender Beliebtheit. Für Entwickler, die die Golang-Sprache zum Entwickeln von Webanwendungen verwenden, ist das Revel-Framework ein einfaches, benutzerfreundliches, effizientes und stabiles Web-Framework, das problemlos in Verbindung mit Docker-Containern verwendet werden kann.
In diesem Artikel wird der Prozess zum Erstellen einer Webanwendung mithilfe des Revel-Frameworks und des Docker-Containers vorgestellt. Konkret beginnt es mit der Installation und Konfiguration der Umgebung, führt Schritt für Schritt in die Erstellung von Revel-Anwendungen und Docker-Images ein und zeigt schließlich, wie Docker-Container zum Ausführen und Bereitstellen von Anwendungen verwendet werden.
Zuerst müssen Sie die Golang- und Docker-Umgebungen installieren und konfigurieren. Informationen zur Installation und Konfiguration von Golang finden Sie in der offiziellen Dokumentation. Informationen zum Herunterladen und Installieren von Docker finden Sie unter https://docs.docker.com/engine/install/. Darüber hinaus können Sie Docker Desktop verwenden, um die Installation und Konfiguration von Docker zu vereinfachen, das die Betriebssysteme Windows, macOS und Linux unterstützt. Einzelheiten finden Sie unter https://www.docker.com/products/docker-desktop.
Als nächstes müssen Sie eine neue Revel-App erstellen. Sie können das Revel-CLI-Tool verwenden, um schnell eine Anwendung zu erstellen. Die spezifischen Befehle lauten wie folgt:
$ go get github.com/revel/revel $ go get github.com/revel/cmd/revel $ revel new myapp
Unter ihnen ruft die erste Befehlszeile den Hauptcode des Revel-Frameworks ab, und die zweite Befehlszeile ruft den ab Revel CLI-Tool. Die dritte Befehlszeile erstellt mithilfe des Revel-CLI-Tools eine neue Revel-Anwendung namens myapp. Beim Erstellen einer Anwendung können Sie aus verschiedenen Anwendungsvorlagen wie RESTful API, Web Application, WebSocket Server usw. wählen.
Nachdem Sie die Anwendung erstellt haben, können Sie die Struktur der Anwendung im myapp-Verzeichnis sehen. Zu den Hauptdateien gehören das App-Verzeichnis (das die Hauptlogik der Anwendung enthält), das Conf-Verzeichnis (das die Konfigurationsdateien der Anwendung enthält) und das öffentliche Verzeichnis (das Ressourcen wie statische Dateien enthält).
Nach Abschluss der Erstellung der Revel-Anwendung müssen Sie die Anwendung in ein Docker-Image packen, um die Bereitstellung und Ausführung in verschiedenen Umgebungen zu erleichtern.
Zuerst müssen Sie eine Datei namens Dockerfile im myapp-Verzeichnis erstellen und darin die Build-Anweisungen des Docker-Images definieren. Das Folgende ist ein einfaches Dockerfile-Beispiel:
FROM golang:alpine MAINTAINER xxx@xxx.com RUN apk add --no-cache git WORKDIR /go/src/app COPY . . RUN go get -d -v ./... RUN go install -v ./... CMD ["app"]
Das Prinzip der obigen Dockerfile-Datei besteht darin, die alpine Version von Golang herunterzuladen und dann alle Dateien im myapp-Programmverzeichnis in das benannte App-Verzeichnis zu kopieren. Als nächstes werden die abhängigen Bibliotheken heruntergeladen und installiert, und die Anwendung wird kompiliert und im Verzeichnis /bin installiert. Verwenden Sie abschließend den CMD-Befehl, um die myapp-Anwendung auszuführen.
Als nächstes verwenden Sie den folgenden Befehl, um das Docker-Image zu erstellen:
$ docker build -t myapp .
Darunter gibt „-t“ die Bezeichnung des Docker-Images an, hier auf „myapp“ gesetzt, was bedeutet, dass ein Docker-Image für die myapp-Anwendung erstellt wird. Beachten Sie, dass Sie diesen Befehl im myapp-Verzeichnis ausführen müssen, da dieser Befehl die Docker-Datei im aktuellen Verzeichnis zum Erstellen des Images verwendet.
Nach Abschluss der Erstellung des Docker-Images müssen Sie die Anwendung ausführen und bereitstellen.
Zunächst können Sie den folgenden Befehl verwenden, um den Docker-Container auszuführen:
$ docker run -p 9000:9000 myapp
Darunter gibt „-p“ die Zuordnung des Container-Ports und des Host-Ports an. Hier wird der Container-Port 9000 dem Host-Port zugeordnet 9000. Nachdem Sie den obigen Befehl verwendet haben, sollten Sie auf die Anwendung zugreifen können, indem Sie im Browser auf http://localhost:9000 zugreifen.
Um die Bereitstellung und Verwaltung von Anwendungen zu vereinfachen, können Sie Docker Compose zum Verwalten mehrerer Container verwenden. Zunächst müssen Sie eine Datei mit dem Namen docker-compose.yml erstellen und darin relevante Dienstinformationen definieren. Hier ist ein einfaches Beispiel:
version: '3' services: myapp: build: . container_name: myapp ports: - "9000:9000"
Im obigen Beispiel enthält der myapp-Dienst Anweisungen zum Erstellen von Docker-Images, den Namen des Docker-Containers und Informationen zur Portzuordnung. Sie können die folgenden Befehle verwenden, um die Anwendung zu starten und zu stoppen:
$ docker-compose up $ docker-compose down
Der Befehl Docker-compose up startet alle definierten Dienste, während der Befehl Docker-compose down alle Dienste stoppt und entsprechende Container, Netzwerke und andere Ressourcen löscht.
Zusammenfassung
In diesem Artikel wird der Prozess zum Erstellen einer Anwendung mithilfe des Golang-Webframeworks Revel Framework und Docker vorgestellt. Konkret müssen Sie zunächst Golang- und Docker-Umgebungen installieren und konfigurieren, dann mit dem Revel-CLI-Tool eine neue Revel-Anwendung erstellen, zweitens die Anwendung in ein Docker-Image packen und schließlich Docker-Container zum Ausführen und Bereitstellen der Anwendung verwenden. Durch die oben genannten Schritte können Revel-Anwendungen einfach bereitgestellt und ausgeführt werden. In Kombination mit Docker-Containern können Anwendungen effizienter verwaltet und bereitgestellt werden.
Das obige ist der detaillierte Inhalt vonErstellen Sie Anwendungen mit Golangs Web-Framework Revel Framework und Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!