Initialisieren eines Go-Projekts mit Docker Init
In diesem Schritt werden wir ein neues Go-Projekt initialisieren und docker init
verwenden, um die erforderlichen Dockerfile- und docker-compose.yml-Dateien zu generieren. Dies wird den Ausgangspunkt für die Containerisierung unserer Go-Anwendung bilden.
Zunächst erstellen wir ein neues Verzeichnis für unser Go-Projekt. Öffnen Sie ein Terminal in der LabEx VM und führen Sie die folgenden Befehle aus:
mkdir my-go-app
cd my-go-app
Diese Befehle erstellen ein neues Verzeichnis namens my-go-app
im Verzeichnis ~/project
und ändern dann das aktuelle Verzeichnis in my-go-app
.
Als nächstes müssen wir ein Go-Modul initialisieren. Dadurch wird eine go.mod
-Datei erstellt, die die Abhängigkeiten unseres Projekts verfolgt.
Führen Sie den folgenden Befehl im Terminal aus:
go mod init my-go-app
Dieser Befehl initialisiert ein neues Go-Modul namens my-go-app
. Sie sollten eine Ausgabe ähnlich der folgenden sehen:
go: creating new go.mod: module my-go-app
go: to add module requirements and sums:
go mod tidy
Jetzt erstellen wir eine einfache Go-Anwendung. Erstellen Sie eine neue Datei namens main.go
im Verzeichnis my-go-app
mit dem nano
-Editor:
nano main.go
Fügen Sie den folgenden Code zur Datei main.go
hinzu:
package main
import "fmt"
func main() {
fmt.Println("Hello, Docker!")
}
Dies ist ein einfaches Go-Programm, das "Hello, Docker!" auf der Konsole ausgibt.
Speichern Sie die Datei und verlassen Sie den nano
-Editor, indem Sie Strg+X
, dann Y
und schließlich Enter
drücken.
Jetzt verwenden wir docker init
, um die Dockerfile- und docker-compose.yml-Dateien zu generieren. Die LabEx VM hat jedoch standardmäßig kein Docker Compose installiert. Wir müssen es zuerst installieren.
Laden Sie die neueste Version von Docker Compose mit curl
herunter:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Machen Sie die Docker Compose-Binary ausführbar:
sudo chmod +x /usr/local/bin/docker-compose
Überprüfen Sie die Installation, indem Sie die Docker Compose-Version prüfen:
docker-compose --version
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
docker-compose version 1.29.2, build xxxxxxx
Nachdem Docker Compose installiert ist, können wir mit docker init
fortfahren.
Führen Sie den folgenden Befehl im Terminal aus:
docker init
docker init
wird eine Reihe von Fragen stellen, um die Dockerfile- und docker-compose.yml-Dateien zu konfigurieren. Hier sind die empfohlenen Antworten für dieses Lab:
- What do you want to call this application?
my-go-app
- What port is this app listening on?
3000
(Dies ist ein Platzhalter, wir werden in diesem einfachen Beispiel tatsächlich keinen Port verwenden)
- What is the main file to execute?
main.go
- Would you like to include the Docker Compose configuration?
Yes
- Please choose a Docker Compose version:
2.0
Nachdem Sie diese Fragen beantwortet haben, wird docker init
eine Dockerfile
und eine docker-compose.yml
-Datei im Verzeichnis my-go-app
generieren.
Sie können den Inhalt der generierten Dateien mit dem cat
-Befehl anzeigen:
cat Dockerfile
cat docker-compose.yml
Diese Dateien bieten eine grundlegende Konfiguration für das Erstellen und Ausführen unserer Go-Anwendung in einem Docker-Container. Im nächsten Schritt werden wir diese Dateien anpassen, um unseren Bedürfnissen besser zu entsprechen.