Initialiser un projet Go avec Docker Init
Dans cette étape, nous allons initialiser un nouveau projet Go et utiliser docker init
pour générer les fichiers Dockerfile et docker-compose.yml nécessaires. Cela fournira un point de départ pour containeriser notre application Go.
Tout d'abord, créons un nouveau répertoire pour notre projet Go. Ouvrez un terminal dans la machine virtuelle LabEx et exécutez les commandes suivantes :
mkdir my-go-app
cd my-go-app
Ces commandes créent un nouveau répertoire nommé my-go-app
dans le répertoire ~/project
, puis changent le répertoire actuel pour my-go-app
.
Ensuite, nous devons initialiser un module Go. Cela créera un fichier go.mod
qui suivra les dépendances de notre projet.
Exécutez la commande suivante dans le terminal :
go mod init my-go-app
Cette commande initialise un nouveau module Go nommé my-go-app
. Vous devriez voir une sortie similaire à :
go: creating new go.mod: module my-go-app
go: to add module requirements and sums:
go mod tidy
Maintenant, créons une simple application Go. Créez un nouveau fichier nommé main.go
dans le répertoire my-go-app
en utilisant l'éditeur nano
:
nano main.go
Ajoutez le code suivant au fichier main.go
:
package main
import "fmt"
func main() {
fmt.Println("Hello, Docker!")
}
Il s'agit d'un simple programme Go qui affiche "Hello, Docker!" dans la console.
Enregistrez le fichier et quittez l'éditeur nano
en appuyant sur Ctrl+X
, puis Y
, puis Entrée
.
Maintenant, nous allons utiliser docker init
pour générer les fichiers Dockerfile et docker-compose.yml. Cependant, la machine virtuelle LabEx n'a pas Docker Compose installé par défaut. Nous devons l'installer d'abord.
Téléchargez la dernière version de Docker Compose en utilisant curl
:
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
Rendez le binaire Docker Compose exécutable :
sudo chmod +x /usr/local/bin/docker-compose
Vérifiez l'installation en vérifiant la version de Docker Compose :
docker-compose --version
Vous devriez voir une sortie similaire à :
docker-compose version 1.29.2, build xxxxxxx
Maintenant que Docker Compose est installé, nous pouvons procéder avec docker init
.
Exécutez la commande suivante dans le terminal :
docker init
docker init
posera une série de questions pour configurer les fichiers Dockerfile et docker-compose.yml. Voici les réponses recommandées pour ce laboratoire :
- What do you want to call this application?
my-go-app
- What port is this app listening on?
3000
(C'est un placeholder, nous n'utiliserons pas réellement de port dans cet exemple simple)
- 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
Après avoir répondu à ces questions, docker init
générera un fichier Dockerfile
et un fichier docker-compose.yml
dans le répertoire my-go-app
.
Vous pouvez afficher le contenu des fichiers générés en utilisant la commande cat
:
cat Dockerfile
cat docker-compose.yml
Ces fichiers fournissent une configuration de base pour construire et exécuter notre application Go dans un conteneur Docker. Dans l'étape suivante, nous personnaliserons ces fichiers pour mieux répondre à nos besoins.