Suite à la précédente Docker article, ce didacticiel expliquera comment enregistrer un conteneur Docker dans une nouvelle image, supprimer un conteneur et exécuter un Nginx serveur Web à l’intérieur d’un conteneur.
Exigences
Comment exécuter et enregistrer un conteneur Docker
1. Dans cet exemple, nous allons exécuter et enregistrer un Basé sur Ubuntu Conteneur Docker où le Nginx le serveur sera installé. Mais avant de valider des modifications dans un conteneur, démarrez d’abord le conteneur avec les commandes ci-dessous qui mettent à jour et installent Nginx démon dans l’image Ubuntu:
# docker run ubuntu bash -c "apt-get -y update" # docker run ubuntu bash -c "apt-get -y install nginx"
Si vous obtenez une erreur ‘E: Impossible de localiser le package nginx‘, vous devez vous connecter à un conteneur avec une CLI interactive et installer nginx comme indiqué.
# docker run -it ubuntu bash # apt install nginx # exit
2. Ensuite, après Nginx package est installé, émettez la commande docker ps -l
pour obtenir le ID ou Nom du conteneur en cours d’exécution.
# docker ps -l
Et appliquez les modifications en exécutant la commande ci-dessous:
# docker commit 5976e4ae287c ubuntu-nginx
Ici, 5976e4ae287c
représente le conteneur ID
et ubuntu-nginx
représente le nom de la nouvelle image qui a été enregistrée avec les modifications validées.
Pour voir si la nouvelle image a été créée avec succès, exécutez simplement docker images
et une liste de toutes les images enregistrées sera affichée.
# docker images
Il y a de fortes chances que le processus d’installation à l’intérieur du conteneur se termine rapidement, ce qui conduit à un conteneur qui ne fonctionne pas (le conteneur est arrêté). Dans ce cas, le docker ps
La commande n’affichera aucune sortie car aucun conteneur n’est en cours d’exécution.
Afin de pouvoir toujours obtenir l’ID du conteneur docker ps -a | head -3
pour afficher les conteneurs les plus récents et identifier le conteneur en fonction de la commande émise pour créer le conteneur et l’état de sortie.
3. Vous pouvez également entrer activement dans des sessions de conteneur en exécutant docker run -it ubuntu bash
commande et exécutez la suite apt-get install nginx
commander. Pendant l’exécution de la commande, détachez-vous du conteneur à l’aide de Ctrl-p + Ctrl-q
clés et le conteneur continueront de fonctionner même si le processus d’installation de Nginx se termine.
# docker run -it ubuntu bash # apt-get install nginx
Ensuite, obtenez l’ID du conteneur en cours d’exécution avec docker ps
et valider les changements. Une fois terminé, entrez à nouveau dans la console du conteneur en utilisant docker attach
et tapez exit
pour arrêter le conteneur.
# docker ps # docker attach 3378689f2069 # exit
4. Pour tester davantage si l’image récente a été validée correctement (dans ce cas Nginx service a été installé), exécutez la commande ci-dessous afin de générer un nouveau conteneur qui sortira si le binaire Nginx a été installé avec succès:
# docker run ubuntu-nginx whereis nginx
5. Pour retirer un conteneur, utilisez le rm
commande contre un ID ou un nom de conteneur, qui peut être obtenu en utilisant docker ps -a
commander:
# docker ps -a # sudo docker rm 36488523933a
Comment exécuter Nginx dans le conteneur Docker
6. Dans cette partie, nous nous concentrerons sur la manière dont vous pouvez exécuter et accéder à un service réseau, tel qu’un Nginx serveur Web, dans Docker, en utilisant le ubuntu-nginx
image créée précédemment où le démon Nginx a été installé.
La première chose que vous devez faire est de créer un nouveau conteneur, de mapper les ports hôte-conteneur et d’entrer le shell du conteneur en exécutant la commande ci-dessous:
# docker run -it -p 81:80 ubuntu-nginx /bin/bash # nginx &
Ici le -p
L’option expose le port hôte au port du conteneur. Alors que le port hôte peut être arbitraire, à condition qu’il soit disponible (aucun autre service hôte ne doit l’écouter), le port conteneur doit être exactement le port que le démon interne écoute.
Une fois que vous êtes connecté à la session de conteneur, démarrez Nginx démon en arrière-plan et détachez-vous de la console du conteneur en appuyant sur Ctrl-p + Ctrl-q
clés.
7. Maintenant, cours docker ps
pour obtenir l’état de votre conteneur en cours d’exécution. Vous pouvez également afficher les sockets du réseau hôte en émettant la commande suivante:
# docker ps OR # netstat -tlpn
8. Afin de visiter la page servie par le conteneur Nginx, ouvrez un navigateur à partir d’un emplacement distant de votre LAN et saisissez l’adresse IP de votre machine à l’aide du protocole HTTP.
9. Pour arrêter le conteneur, exécutez la commande suivante suivie de l’ID ou du nom du conteneur:
# docker ps # docker stop fervent_mccarthy # docker ps
Au lieu d’arrêter le conteneur en cours d’exécution, entrez l’invite de commande du shell du conteneur et tapez exit pour terminer le processus:
# docker attach fervent_mccarthy # exit
Sachez que l’utilisation de ce type de conteneur pour exécuter des serveurs Web ou d’autres types de services n’est mieux adaptée qu’à des fins de développement ou de tests, car les services ne sont actifs que lorsque le conteneur est en cours d’exécution. La sortie du conteneur perturbe tous les services en cours d’exécution ou les modifications apportées.
Lectures complémentaires:
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer:
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en guise de remerciement.
Nous sommes reconnaissants pour votre soutien sans fin.
.