Introduction

Avec l’arrivée de Docker, notre façon de déployer nos applications a changé. Alors que la virtualisation classique impose d’avoir plusieurs OS, Docker se veut bien plus léger car il n’en utilise qu’un dans lequel, il isole chaque application dans un container.

De base Docker a été pensé par des développeurs pour des développeurs, mais son succès en fait aussi un outil précieux pour tous les administrateurs et DevOps.

Le saviez-vous ? Docker est codé en Go.

Quelques liens utiles:

Le but de cet article n’est pas de vous apprendre à utiliser Docker car il y a déjà des ressources sur internet plus spécialisées. Nous aborderons dans ce sujet la façon de déployer un serveur Go avec Docker.

Mise en place

Pour déployer son application avec Go il existe une image golang sur le dépôt officiel de Docker. Nous partirons de cette image de base pour créer la nôtre.

Avant de commencer, il faut coder notre programme. Placez-vous dans votre espace de travail et créez un fichier main.go

Maintenant nous allons créer une image avec Docker pour notre application. Pour y parvenir nous utiliserons un fichier nommé Dockerfile. A l’intérieur de ce fichier il faut définir où se trouve les sources du code, comment compiler et le point d’entrée du container afin de rendre disponible notre application.

Toujours dans le répertoire de votre projet, créez un fichier Dockerfile (sans extension) :

Construction de l’image avec Docker

Attention si vous êtes sur Mac et que vous utilisez Boot2Docker, il faut utiliser l’ip dédiée à la machine virtuelle. Pour obtenir l’adresse, saisissez la commande suivante :

Ouvrez votre navigateur favoris et entrez une de ses urls ou la vôtre en fonction de votre configuration :

Versionner ses containers

Comme vu plus haut nous avons donné un tag hello:1.0 qui permet à notre image d’avoir un numéro de version. C’est intéressant si une nouvelle mouture doit paraître, de garder l’ancienne en cas de problème et pouvoir faire marche arrière.

Conclusion

Containériser un serveur Go avec Docker est très simple à mettre en œuvre. Il permet en plus d’avoir plusieurs versions que l’on peut démarrer et arrêter en une ligne de commande.

N’hésitez pas à visiter la page de l’image officielle de Go sur Docker.com pour plus d’informations.

Il n'y a pas de commentaires.