Comment installer, exécuter et supprimer les applications à l'intérieur des conteneurs Docker - partie 2

Comment installer, exécuter et supprimer les applications à l'intérieur des conteneurs Docker - partie 2

Après le précédent Docker Article, ce tutoriel discutera de la façon d'enregistrer un conteneur Docker dans une nouvelle image, de supprimer un conteneur et d'exécuter un Nginx serveur Web à l'intérieur d'un conteneur.

Exigences

  • Comment installer Docker et Exécuter des conteneurs dans Centos / Rhel 8/7 - Partie 1

Comment exécuter et enregistrer un conteneur Docker

1. Dans cet exemple, nous exécuterons et enregistrerons un Basé sur Ubuntu Conteneur docker où le nginx le serveur sera installé. Mais avant de commettre des modifications à un conteneur, démarrez d'abord le conteneur avec les commandes ci-dessous qui mettent à jour et installent Nginx démon dans l'image d'Ubuntu:

# docker run ubuntu bash -c "apt-get -y mise à jour" # docker run ubuntu bash -c "apt-get -y install nginx" 
Installez Nginx sur un conteneur Docker Ubuntu

Si vous obtenez une erreur 'E: Impossible de localiser le package nginx', alors vous devez vous connecter à un conteneur avec une CLI interactive et installer nginx comme indiqué.

# docker run -it ubuntu bash # apt installer nginx # exit 

2. Ensuite, après Nginx le package est installé, émettez la commande docker ps -l pour obtenir le IDENTIFIANT ou nom du conteneur en cours d'exécution.

# docker ps -l 
Trouver le nom de l'ID de conteneur Docker

Et appliquer des modifications en exécutant la commande ci-dessous:

# Docker Commit 5976E4AE287C Ubuntu-nginx 

Ici, 5976E4AE287C représente le conteneur IDENTIFIANT et ubuntu-nginx représente le nom de la nouvelle image qui a été enregistrée avec des modifications engagées.

Afin de voir si la nouvelle image a été créée avec succès images docker La commande et une liste de toutes les images enregistrées seront affichées.

# images docker 
Modifications du conteneur Docker

Il y a de fortes chances que le processus d'installation à l'intérieur du conteneur finisse rapidement, ce qui conduit à un conteneur non coulant (le conteneur est arrêté). Dans ce cas, le docker ps La commande ne montre aucune sortie car aucun conteneur ne s'exécute.

Afin de pouvoir faire fonctionner l'identifiant du conteneur docker ps -a | tête -3 Pour produire les conteneurs les plus récents et identifier le conteneur en fonction de la commande émise pour créer le conteneur et le statut.

3. Alternativement, vous pouvez activement saisir des séances de conteneurs en fonctionnant docker run -it ubuntu bash commander et exécuter plus loin APT-Get Installer Nginx commande. Pendant que la commande est en cours d'exécution, détachez-vous du conteneur en utilisant Ctrl-p + ctrl-Q Les touches et le conteneur continueront de s'exécuter même si le processus d'installation de Nginx se termine.

# docker run -it ubuntu bash # apt-get install nginx 
Installez Nginx sur Docker Container

Ensuite, obtenez l'ID de conteneur en cours d'exécution avec docker ps et commettre des changements. Une fois terminé, réintégralez à la console de conteneur en utilisant attaché docker et taper sortie Pour arrêter le conteneur.

# docker ps # docker jointe 3378689f2069 # exit 
JOINT CONTTEAPER DOCKER

4. Pour tester davantage si l'image récente a été engagée correctement (dans ce cas Nginx Le service a été installé), exécutez la commande ci-dessous afin de générer un nouveau conteneur qui sortira si nginx binaire a été installé avec succès:

# docker exécute ubuntu-nginx où est nginx 
Générer un nouveau conteneur Docker

5. Pour supprimer un conteneur, utilisez le RM commande contre un identifiant ou un nom de conteneur, qui peut être obtenu en utilisant docker ps -a commande:

# docker ps -a # sudo docker rm 36488523933a 
Supprimer le conteneur Docker

Comment exécuter nginx à l'intérieur du conteneur docker

6. Dans cette partie, nous nous concentrerons sur la façon dont vous pouvez exécuter et accéder à un service réseau, comme un Nginx serveur Web, à l'intérieur de Docker, en utilisant le ubuntu-nginx image créée plus tôt où le démon de nginx a été installé.

La première chose que vous devez faire est de créer un nouveau conteneur, de cartographier les ports de container hôte et de saisir le shell de conteneur en émettant 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 de conteneur. Bien que le port d'hôte puisse être arbitraire, avec la condition qu'il doit être disponible (aucun autre service d'hôte ne devrait écouter dessus), le port de conteneur doit être exactement le port que le démon intérieur écoute.

Une fois que vous êtes connecté à la session de conteneurs, commencez Nginx démon en arrière-plan et détacher de la console de conteneur en appuyant Ctrl-p + ctrl-Q clés.

Exécutez Nginx à l'intérieur du conteneur Docker

7. Maintenant, courez docker ps Pour obtenir l'état de votre conteneur en cours d'exécution. Vous pouvez également afficher les sockets de réseau hôte en émettant la commande suivante:

# docker ps ou # netstat -tlpn 
Afficher l'état de course Docker Container

8. Afin de visiter la page desservie 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.

Vérifiez Nginx en cours d'exécution sous Docker Container

9. Pour arrêter le conteneur, exécutez la commande suivante suivie d'un ID de conteneur ou d'un nom:

# docker ps # docker stop fervent_mccarthy # docker ps 
Arrêter de courir le conteneur Docker

Comme alternative pour arrêter le conteneur en cours d'exécution, entrez l'invite de commande du shell de conteneur et tapez la sortie pour terminer le processus:

# docker attacher fervent_mccarthy # exit 

Sachez que l'utilisation de ce type de conteneur pour exécuter des serveurs Web ou d'autres types de services est le mieux adapté uniquement à des fins de développement ou de tests en raison du fait que les services ne sont actifs que pendant que le conteneur fonctionne. La sortie du conteneur perturbe tous les services de course ou toute modification apportée.

Lire plus approfondie:

Partie 3: Créer et configurer automatiquement les images Docker avec Dockerfile sur Centos / Rhel 8/7 Partie 4: Comment surveiller les conteneurs Docker dans Linux