Menu Fermer

Installer Docker pour déployer vos applications

Il y a quelques années, je mettais penché sur la conteneurisation avec Docker, mais à l’époque le logiciel n’en était qu’à ses balbutiements mais maintenant c’est une tout autre histoire. Entre toutes les mises à jour effectuées par les équipes de Docker et le travail fournit par la communauté qui gravite autour, Docker est devenu depuis une référence dans le déploiement d’applications conteneurisées.

Du coup, je trouvais intéressant de partager mes différentes expériences sur la mise en place de cette technologie.

Nous allons voir comment mettre en place notre serveur Docker ainsi que que le logiciel « docker-compose » qui va nous permettre de créer et mettre en place nos premières applications conteneurisées.

Docker logo

Installation de Docker

Nous allons installer Docker sur notre serveur. Dans mon cas, j’utilise un serveur installé sous Debian 9 mais la procédure d’installation est la même pour les autres distributions Linux il faut juste s’adapter à votre gestionnaire de paquets.

La première chose à faire est de se rendre sur la page dédiée à l’installation de Docker (Debian, Ubuntu et CentOS).

La première étape pour installer Docker est d’ajouter le dépôt logiciel de celui-ci à nos dépôts système.

On commence par ajouter la signature du dépôt à notre système.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Puis, on ajoute le dépôt au système.

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

Ensuite, il ne reste plus qu’à mettre les dépôts du système à jour puis d’installer les différents paquets de Docker.

sudo apt-get update 
sudo apt-get install docker-ce docker-ce-cli containerd.io 

Une fois l’installation terminée Docker est opérationnel. Vous pouvez tester votre installation en lançant un conteneur de test « Hello World ».

sudo docker run hello-world

Vous devez voir apparaître le message « Hello World » qui indique que votre service fonctionne correctement.

Linux Terminal avec sudo

Utilisation de Docker avec un utilisateur non-root

De base, Docker nécessite des droits root pour pouvoir déployer des conteneurs mais pour des raisons de sécurité il est fortement conseillé d’utiliser Docker avec un utilisateur ne possédant pas des privilèges élevés.

Pour pouvoir utiliser Docker avec un utilisateur « standard », il suffit de l’ajouter à un groupe dédié.

On commence par créer un groupe « docker ».

sudo groupadd docker

Puis, on ajoute notre utilisateur au groupe précédemment créé.

sudo usermod -aG docker $USER

Vous pouvez maintenant relancer votre conteneur « Hello World », mais cette fois sans le « sudo » devant votre commande. Vous devriez alors obtenir le même résultat que la dernière fois.

Linux terminal sans sudo

Ajouter Docker au démarrage du système

Pour terminer la mise en place de Docker, il ne reste plus qu’à l’ajouter au démarrage du système.

Pour faire ceci on entre la commande suivante :

sudo systemctl enable docker

Installer docker-compose

Bien que tout soit fonctionnel en l’état, nous allons rajouter un autre composant logiciel qui va nous faciliter le déploiement de nos conteneurs qui est docker-compose. Ce logiciel va nous permettre de scripter le déploiement de nos applications via un langage simple le YAML.

Pour installer docker-compose, il faut se rendre sur la page GitHub du projet, et récupérer l’URL de la dernière version actuelle.

Pour l’installation, il suffit d’entrer les commandes suivantes :

curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Ces commandes auront pour effet de télécharger la dernière version de docker-compose sur votre serveur et de rendre l’application exécutable.

Il ne reste plus qu’à tester si c’est fonctionnel avec la commande suivante :

docker-compose --version

Vous devriez obtenir le résultat suivant :

Terminal docker-compose

Voilà. Tout est prêt pour déployer nos futures applications conteneurisées.

Dans un prochain article nous verrons comment déployer nos applications via docker-compose.

Articles similaires