Avec la popularité de la technologie de conteneurisation ces dernières années, Docker est devenu un outil essentiel pour de plus en plus de développeurs, de personnel d'exploitation et de maintenance, de praticiens informatiques, etc. L'avantage élevé de concurrence du langage Golang en a également fait le langage préféré de nombreux développeurs. Alors, comment déployer des applications Golang dans des conteneurs Docker ? Cet article vous présentera le processus détaillé de déploiement de Docker dans Golang.
1. Installez Docker
Tout d'abord, nous devons installer Docker. Docker propose plusieurs systèmes d'exploitation et méthodes d'installation parmi lesquels chacun peut choisir. Ici, nous prenons le système Ubuntu comme exemple pour présenter la méthode d'installation de Docker.
1. Mettre à jour l'outil apt-get et les dépendances :
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
2. Configurer la clé GPG :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3. Ajouter une source Docker :
sudo add-apt-repository "deb [arch=amd64 ] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
4. Mettez à jour l'index du package d'installation :
sudo apt-get update
5. Installez la dernière version de Docker :
sudo apt-get install docker-ce
Une fois l'installation réussie, vous pouvez vérifier le numéro de version de Docker via la commande docker -v.
2. Créer un projet d'application Golang
Ensuite, nous créerons un projet d'application Golang simple. Supposons que notre projet s'appelle demo et que la structure des répertoires du projet est la suivante :
demo
|—— main.go
|—— Dockerfile
Parmi eux, le fichier main.go est le fichier principal de l'application Golang , et le fichier Dockerfile est le fichier de build Docker .
3. Écrivez le code de l'application Golang
Dans le fichier main.go, vous écrivez principalement des applications Golang. Ici, nous écrivons un exemple de programme Hello World :
package main import "fmt" func main() { fmt.Println("Hello World!") }
Enregistrez et quittez le fichier.
4. Écrivez le Dockerfile
Ensuite, nous devons également écrire le Dockerfile, qui est utilisé pour créer l'image Docker. Parmi elles, les applications Golang doivent être créées via l'image golang:alpine officiellement fournie par Golang.
Dans le fichier Dockerfile, nous devons effectuer les étapes suivantes :
Le script complet est le suivant :
FROM golang:alpine ADD . /go/src/demo WORKDIR /go/src/demo RUN go build -o main . CMD ["/go/src/demo/main"]
Parmi eux, l'instruction FROM représente l'image de base, l'instruction ADD est utilisée pour copier les fichiers locaux dans le image et l'instruction WORKDIR est utilisée pour définir le répertoire de travail, l'instruction RUN est utilisée pour exécuter des commandes dans l'image et l'instruction CMD est utilisée pour spécifier la commande de démarrage du conteneur.
5. Construisez l'image Docker
Exécutez la commande suivante pour créer l'image Docker :
docker build -t demo:v1 .
Parmi eux, demo:v1 représente le nom de l'image et le numéro de version, et le signe . suivant représente le répertoire actuel où se trouve le fichier Docker. situé.
Une fois la construction réussie, nous pouvons visualiser l'image construite via la commande suivante :
docker images
6. Exécutez le conteneur Docker
Enfin, nous devons exécuter le conteneur Docker :
docker run -it demo:v1
Parmi eux, demo:v1 représente le nom de l’image construite et le numéro de version.
Lorsque nous exécutons avec succès le conteneur, nous pouvons voir la sortie de Hello World! sur la ligne de commande, indiquant que l'application Golang dans le conteneur s'est exécutée avec succès.
À ce stade, nous avons terminé toutes les étapes pour déployer l'application Golang dans un conteneur Docker.
Résumé
Cet article présente principalement les étapes détaillées sur la façon d'installer Docker et de déployer des applications Golang dans des conteneurs Docker dans les systèmes Ubuntu. Bien entendu, le processus de déploiement proprement dit impliquera également des problèmes plus détaillés, tels que le réseau, la sécurité, etc. Cependant, cet article vous a fourni des idées et des méthodes de base. Je pense que les lecteurs peuvent continuer à accumuler de l'expérience dans la pratique et à améliorer leur niveau technique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!