Comment configurer un conteneur Apache Docker

Si vous êtes nouveau dans Docker et les conteneurs, alors la configuration du Conteneur Docker Apache est un excellent point de départ. Créer une application sur Docker est un énorme avantage en raison de sa technologie légère et de sa sécurité.

Dans ce tutoriel, vous apprendrez à configurer un Conteneur Docker Apache sur Ubuntu. Utilisez ce tutoriel pour apprendre à démarrer avec Docker et obtenir également un serveur web Apache !

Prérequis

Si vous souhaitez suivre étape par étape, assurez-vous d’avoir les éléments suivants et Ubuntu 14.04.4 LTS ou une version supérieure avec Docker installé dans ce tutoriel. Ce tutoriel utilise Ubuntu 18.04.5 LTS avec Docker v19.03.8 et une adresse IP publique de 13.213.48.113.

Configuration du Conteneur Docker Apache

En supposant que vous avez déjà installé Docker, commençons d’abord par configurer le conteneur Apache. Plus tard, vous apprendrez comment le démarrer.

Une des façons les plus simples de rapidement mettre en place un conteneur Docker Apache est de télécharger une image de conteneur existante depuis le registre officiel de Docker, Docker Hub. Pour cet exemple, vous allez télécharger et exécuter un conteneur Docker appelé Apache.

Avec quelques commandes Docker, vous exécuterez une instance d’Apache en un rien de temps. Pour ce faire, suivez les étapes ci-dessous.

Remarque : Ce tutoriel ne couvre pas en détail l’exécution des commandes Docker. Pour en savoir plus sur les commandes Docker, visitez la page de documentation de la ligne de commande Docker.

1. Ouvrez un terminal sur votre machine Ubuntu.

2. Téléchargez l’image Docker, qui contient Apache appelé httpd, en exécutant la commande docker pull ci-dessous. Cette commande téléchargera ou extraira l’image Apache du registre Docker, comme indiqué ci-dessous.

# Extrait les images Docker du registre Docker sur votre machine locale.
docker pull httpd

La capture d’écran ci-dessous montre le résultat attendu lors du téléchargement de l’image depuis Docker Hub.

Pulling the Apache image from Docker Hub

3. Ensuite, confirmez que vous avez téléchargé l’image en exécutant la commande docker images ci-dessous pour répertorier toutes les images disponibles sur votre ordinateur.

# Pour vérifier les images Docker
docker images

Comme vous pouvez le voir ci-dessous, vous avez maintenant une image Docker, qui est l’image que vous avez téléchargée depuis Docker Hub.

Checking the Docker images

Exécution du conteneur Apache à l’aide de la commande Docker.

Dans la section précédente, vous avez téléchargé l’image Docker depuis le hub Docker. Vous êtes maintenant prêt à créer un conteneur à partir de cette image. Pour exécuter le conteneur Apache, vous devrez exécuter la commande Docker comme suit :

1. Appelez la commande docker run pour créer un nouveau conteneur basé sur votre image Docker Apache téléchargée.

# Exécuter un nouveau conteneur Docker appelé docker-apache (--name)
# Mapper le port 80 de l'ordinateur local sur le port 80 du conteneur (-p 80:80)
# En mode détaché (-d)
# Utilisation de l'image Apache
docker run -d --name docker-apache -p 80:80 -d httpd

La commande docker run retourne ensuite l’ID unique du conteneur que vous venez de créer. Enregistrez cet ID de conteneur dans le cadre en surbrillance ci-dessous pour l’avenir si vous souhaitez supprimer ou retirer le conteneur.

Running a new Docker container using an Apache image

2. Une fois le conteneur Apache en cours d’exécution, vérifiez si vous pouvez accéder à l’interface web Apache en naviguant vers Adresse-IP-publique:80 à l’aide de votre navigateur web. Si vous pouvez voir le même message, comme indiqué ci-dessous, alors vous avez démarré avec succès votre conteneur Docker Apache.

Assurez-vous que la machine Ubuntu 14.04.4 LTS dispose d’un port d’entrée 80 autorisé dans le groupe de sécurité.

Accessing the Apach

3. Enfin, arrêtez le conteneur si vous n’en avez plus besoin en exécutant la commande docker stop ci-dessous. Cette commande arrêtera le conteneur de manière ordonnée.

# Arrêter le conteneur avec l'ID aaaee64a4512. Assurez-vous de changer la valeur de l'ID du conteneur par la vôtre.
# Remarque : spécifier les 12 premiers caractères de l'ID du conteneur est suffisant.
docker stop aaaee64a4512

En outre, vous pouvez également arrêter un conteneur en cours d’exécution en spécifiant son nom dans la commande docker stop (docker stop docker-apache).

Exécution d’un conteneur Apache Docker à partir du fichier Docker

Dans la section précédente, vous avez appris comment lancer un conteneur Apache Docker en utilisant l’image Docker httpd par défaut. Et si vous devez mettre à jour l’image de base pour afficher un contenu différent ou l’exposer sur un port différent ?

Le déploiement d’un conteneur à l’aide d’un fichier Docker vous permet de supprimer l’étape manuelle de création de l’image lorsque vous testez la même configuration sur un système d’exploitation différent. L’approche du fichier Docker est un script automatisé des images Docker.

Créons un fichier Docker et exécutons un conteneur à partir de celui-ci.

1. Créez un dossier nommé ~/apache-server-docker-demo, puis changez (cd) le répertoire de travail vers ce dossier.

mkdir ~/apache-server-docker-demo
cd ~/apache-server-docker-demo

2. Créez un autre fichier, copiez/collez la configuration ci-dessous et enregistrez le fichier en tant que index.html à l’intérieur du répertoire ~/apache-server-docker-demo. Le fichier index.html est une page HTML qui affichera Ce tutoriel vous apprendra comment exécuter un conteneur Apache dans Docker une fois que le conteneur démarre, ce que vous verrez plus tard dans le cours.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>This tutorial will teach how to Run Apache container in docker .</title>
</head>
<body>
    <h1>This tutorial will teach how to Run Apache container in docker , lets GO!</h1>
</body>
</html>

3. Créez un autre fichier, copiez/collez la configuration ci-dessous et enregistrez le fichier en tant que Fichier Docker à l’intérieur du répertoire ~/apache-server-docker-demo. Une fois terminé, Docker utilisera ce DockerFile pour exécuter toutes les commandes nécessaires à la construction d’une nouvelle image Docker sur une image de base quelconque.

Le DockerFile ci-dessous contient diverses étapes/instructions qui construiront le conteneur Apache :

  • Maintainer L’instruction Maintainer fournit des informations sur l’auteur qui gère ce fichier.
  • FROM L’instruction FROM initialise une nouvelle étape de construction et définit l’image de base pour les instructions suivantes. Dans le snippet de code ci-dessous, centos:7 est l’image de base.
  • COPY La commande COPY copie un fichier de la machine hôte (hôte Docker) vers le conteneur. Le fichier index.html que vous avez créé précédemment sur l’hôte Docker sera copié dans le répertoire /var/www/html du conteneur.
  • EXPOSE– L’instruction EXPOSE informe Docker que le conteneur écoute sur les ports réseau spécifiés lors de l’exécution. Le serveur web Apache est exposé par défaut sur le Port 80.
# Instruction pour le fichier Dockerfile afin de créer une nouvelle image sur la base de l'image de base (httpd)
FROM httpd:2.4
MAINTAINER [email protected]
COPY index.html /var/www/html/
EXPOSE 80

4. Ensuite, vérifiez tous les fichiers requis ci-dessous dans le dossier en exécutant la commande tree.

Verify all the required files

5. Ensuite, construisez l’image en exécutant la commande docker build. Le drapeau t est utilisé pour étiqueter l’image apache-server avec v1 et . signifie le répertoire de travail actuel.

# Construction de l'image docker
sudo docker build  -t apache-server:v1 .
build the image by running the docker build command

Lorsque Docker construit s’exécute, il renvoie divers attributs. Vous verrez l’un de ces attributs est REPOSITORY. Le nom REPOSITORY est apache-server, et l’image est étiquetée avec la version v1, comme indiqué ci-dessous.

Repository Attributes

6. Enfin, exécutez le conteneur apache en utilisant la nouvelle image construite en exécutant la commande docker run.

Le drapeau p publie le(s) port(s) d’un conteneur sur l’hôte, qui est 80:80. Le drapeau -it indique à Docker d’allouer un pseudo-terminal connecté à l’entrée standard du conteneur.

# Exécution du conteneur Apache en utilisant la nouvelle image construite
docker run -it -p 80:80 apache-server:v1

7. Enfin, vérifiez si vous pouvez accéder à l’interface web d’Apache en naviguant vers Adresse-ip-publique:80 à l’aide de votre navigateur web. Vous verrez ce message sur l’interface web car vous avez créé le fichier index.html, et Docker l’a copié dans le conteneur lors de son démarrage.

verify if you can access the Apache web interface

Conclusion

Ce tutoriel avait pour but de vous guider tout au long du processus de configuration d’un conteneur Apache Docker à l’aide d’images Docker. Vous avez appris comment lancer des conteneurs Apache en utilisant des fichiers Docker, avec lesquels vous êtes autorisé à éditer et à construire des conteneurs personnalisés selon vos préférences.

Alors, que prévoyez-vous de construire sur l’image Docker du serveur Apache ?

Source:
https://adamtheautomator.com/apache-docker/