Les conteneurs sont un excellent moyen de déployer des instances isolées de services et d’applications. Avec ces outils conteneurisés, vous pouvez facilement les déplacer d’un serveur à l’autre, les mettre à jour rapidement, et même les déployer sur un cluster pour une grande évolutivité. Cet article vous guide à travers le processus d’installation de l’un des outils de conteneurs les plus populaires du marché, Docker, puis le déploiement du serveur web NGINX.

Installation Docker avec Ubuntu 18.04

L’installation de Docker sur Ubuntu 18.04 est incroyablement facile. Ouvrez une fenêtre de terminal (ou connectez-vous à votre serveur Ubuntu via SSH).

Avant d'installer Docker, il est préférable de mettre à jour et de mettre à niveau votre serveur. N'oubliez pas, cependant, que si la mise à niveau inclut le noyau, vous devez redémarrer le serveur pour que les changements prennent effet. Pour cette raison, exécutez les commandes de mise à jour/mise à niveau à un moment où un redémarrage du serveur est possible.

Les commandes de mise à jour et de mise à niveau du serveur Ubuntu sont les suivantes :

sudo apt-get update
sudo apt-get upgrade

Lorsque ces deux commandes sont terminées (et que vous avez redémarré, si nécessaire), vous pouvez alors installer Docker en lançant la commande suivante :

sudo apt-get install docker.io

Installation de Docker, via la ligne de commande, sur le serveur Ubuntu

Une fois cette commande terminée, démarrez et activez Docker à l'aide des commandes :

sudo systemctl start docker
sudo systemctl enable docker

Cela active Docker afin qu'il démarre automatiquement si le serveur est redémarré.

Ensuite, ajoutez votre utilisateur au groupe docker. Sinon, vous devrez exécuter les commandes Docker avec les privilèges sudo, ce qui peut entraîner des problèmes de sécurité. Cela peut être réglé avec une seule commande :

sudo usermod -aG docker $USER

Au cas où vous seriez curieux, ce qui suit explique la commande ci-dessus :
    usermod est la commande réelle pour modifier un utilisateur.
    L'option a indique à usermod que vous ajoutez à l'utilisateur.
    L'option G indique à usermod que vous ajoutez l'utilisateur à un groupe.
    docker est le groupe auquel vous ajoutez l'utilisateur.
    $USER indique à bash d'utiliser l'utilisateur actuellement connecté.

Après avoir exécuté la commande ci-dessus, déconnectez-vous et reconnectez-vous pour que les changements prennent effet.

Vous êtes maintenant prêt à commencer à travailler avec Docker.

Extraction d’images de DockerHub

DockerHub est un référentiel centralisé qui héberge des images pouvant être utilisées comme base pour vos conteneurs. DockerHub contient des milliers d’images, dont certaines servent des objectifs très spécifiques (et même de niche).

Puisque l'objectif est de déployer un conteneur NGINX, téléchargez le conteneur NGINX officiel. Avant de faire cela, lancez la commande

docker images 

Liste des images Docker via la ligne de commande

La sortie de cette commande devrait montrer qu'aucune image n'a été trouvée.

Extrayez l'image NGINX avec la commande :

docker pull nginx

La commande ci-dessus extrait l'image. Si vous lancez la commande docker images, vous verrez l'image nouvellement extraite listée.
L'image NGINX apparaît maintenant dans notre liste d'images Docker.

LES 10 MEILLEURES DISTRIBUTIONS LINUX BASÉES SUR UBUNTU DE TOUS LES TEMPS

Déploiement du conteneur NGINX

Maintenant que vous avez une image avec laquelle baser le conteneur, déployez l’instance conteneurisée de NGINX sur votre réseau. Avec NGINX en tant que conteneur, vous pouvez contrôler le port sur lequel il est déployé.

Déployez NGINX sur le port standard 80. Pour ce faire, la commande ressemble à ceci :

docker run --name docker-nginx -p 80:80 nginx.

Une petite explication de la commande ci-dessus :
    docker est la commande réelle
    run indique à la commande que ce qui suit doit être exécuté avec la commande.
    --name donne au conteneur un nom lisible par l'homme.
    -p indique à Docker quels ports seront utilisés.
    80:80 - Le premier 80 est le port externe (tel qu'utilisé sur votre réseau) et le second 80 est le port interne (tel qu'utilisé par Docker).
    nginx est l'image à utiliser pour le conteneur.

Après avoir déployé ce conteneur, vous devriez pouvoir faire pointer un navigateur sur http://SERVER_IP (où Server IP est l'adresse IP du serveur hébergeant Docker) et voir la page de bienvenue de NGINX.
La page de bienvenue de NGINX montre que notre conteneur a été déployé avec succès

Vous remarquerez également que vous ne récupérez pas votre invite de commande. Pourquoi ? Vous avez exécuté la commande en mode attaché. Si vous appuyez sur la combinaison de touches Ctrl+c, le conteneur est tué et vous récupérez l'invite.

Si vous voulez que le conteneur continue de fonctionner et que vous récupériez votre invite, vous devez déployer le conteneur en mode détaché, comme suit :

docker run --name docker-nginx -p 80:80 -d nginx

Docker ne peut pas déployer un conteneur dupliqué avec le même nom.

Cependant, comme vous avez déjà déployé le premier conteneur, vous verrez une erreur. Pour éviter cela, vous devez arrêter le premier conteneur avec la commande docker stop. Pour ce faire, vous devez prendre note du nom du conteneur (il sera imprimé dans l'erreur), qui est une longue chaîne de caractères aléatoires. Pour exécuter cette commande, il suffit d'utiliser les quatre premiers caractères du conteneur, comme ceci :
docker stop f149

Ensuite, vous supprimez le conteneur avec la commande :

docker rm f149 

Le conteneur d'origine est maintenant arrêté et a été supprimé. Vous pouvez alors redéployer avec succès le conteneur NGINX en mode détaché.