GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment installer, exécuter et supprimer des applications dans les conteneurs Docker - Partie 2

Suite au précédent Docker article, ce didacticiel explique comment enregistrer un conteneur Docker dans une nouvelle image, supprimer un conteneur et exécuter un Nginx serveur Web dans 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 allons exécuter et enregistrer un fichier basé sur Ubuntu Conteneur Docker où le Nginx serveur sera installé. Mais avant de valider toute modification apportée à 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 l'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é, lancez la commande docker ps -l pour obtenir l'identifiant 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 commande 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 non en cours d'exécution (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'identifiant du conteneur, exécutez docker ps -a | head -3 pour générer les conteneurs les plus récents et identifier le conteneur en fonction de la commande émise pour créer le conteneur et le statut de sortie.

3. Alternativement, vous pouvez entrer activement des sessions de conteneur en exécutant docker run -it ubuntu bash commande et exécutez la suite apt-get install nginx commande. Pendant que la commande est en cours d'exécution, détachez-vous du conteneur en utilisant Ctrl-p + Ctrl-q clés et le conteneur continuera à 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 modifications. Lorsque vous avez terminé, entrez à nouveau dans la console du conteneur à l'aide de docker attach et tapez exit pour arrêter le conteneur.

# docker ps
# docker attach 3378689f2069
# exit

4. Pour tester plus avant 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 supprimer un conteneur, utilisez le rm commande par rapport à un ID ou un nom de conteneur, qui peut être obtenu à l'aide de docker ps -a commande :

# docker ps -a
# sudo docker rm 36488523933a

Comment exécuter Nginx dans le 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, tel qu'un Nginx serveur Web, à l'intérieur de 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 du conteneur hôte et d'entrer dans 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 conteneur. Bien que le port hôte puisse être arbitraire, à condition qu'il soit disponible (aucun autre service hôte ne doit l'écouter), le port du conteneur doit être exactement le port sur lequel 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, exécutez 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 exécutant la commande suivante :

# docker ps
OR
# netstat -tlpn 

8. Pour visiter la page servie par le conteneur Nginx, ouvrez un navigateur depuis un emplacement distant de votre réseau local 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 ne convient 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. Quitter le conteneur perturbe tous les services en cours d'exécution ou toute modification apportée.

Autres lectures :

Partie 3  :Créer et configurer automatiquement des images Docker avec Dockerfile sur CentOS/RHEL 8/7Partie 4 :Comment surveiller les conteneurs Docker sous Linux
Docker
  1. Comment créer, répertorier et supprimer des conteneurs Docker sous Linux

  2. Comment installer Docker et déployer une pile LAMP

  3. Comment exécuter MySQL dans un conteneur Docker

  4. Comment installer Vim dans un conteneur Docker

  5. Comment répertorier les conteneurs Docker

Comment installer et configurer Docker Container sur AlmaLinux 8

Comment utiliser Docker Cp pour copier des fichiers entre l'hôte et les conteneurs

Comment exécuter PHPMyAdmin dans un conteneur Docker

Comment exécuter Grafana dans un conteneur Docker

Comment exécuter des conteneurs Docker

Comment répertorier/démarrer/arrêter/supprimer les conteneurs docker