Si vous débutez avec Docker et les conteneurs, la configuration d'Apache Docker Container est un excellent moyen de commencer. La création d'une application sur Docker est un énorme avantage en raison de sa technologie légère et de sa sécurité.
Dans ce didacticiel, vous apprendrez à configurer un conteneur Apache Docker sur Ubuntu. Utilisez ce didacticiel pour apprendre à démarrer avec Docker et repartez également avec un serveur Web Apache !
Prérequis
Si vous souhaitez suivre étape par étape, assurez-vous d'avoir la machine suivante et Ubuntu 14.04.4 LTS ou supérieure avec Docker installé dans ce didacticiel. 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 Apache Docker
En supposant que vous avez déjà installé Docker, configurons d'abord le conteneur Apache. Plus tard, vous apprendrez à le démarrer.
L'un des moyens les plus simples d'afficher rapidement un conteneur Apache Docker consiste à télécharger une image de conteneur existante à partir du registre Docker Hub officiel de Docker. 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 didacticiel ne couvre pas l'exécution en profondeur 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 le docker pull
commande ci-dessous. Cette commande téléchargera ou extraira l'image Apache du registre Docker, comme indiqué ci-dessous.
# Pulls the Docker Images from docker registry to your local machine.
docker pull httpd
La capture d'écran ci-dessous montre le résultat attendu lors de l'extraction de l'image depuis Docker Hub.
3. Ensuite, confirmez que vous avez téléchargé l'image en exécutant les docker images
commande ci-dessous pour lister toutes les images disponibles sur votre ordinateur.
# To check the docker images
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.
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 à partir du 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 le docker run
commande pour créer un nouveau conteneur basé sur votre image Apache Docker téléchargée.
# Run a new docker container called docker-apache (--name)
# Map the local computer's port 80 to the container's port 80 (-p 80:80)
# In detached mode (-d)
# Using the Apache image
docker run -d --name docker-apache -p 80:80 -d httpd
L'docker run
La commande renvoie ensuite l'ID de conteneur unique du conteneur que vous venez de créer. Enregistrez cet identifiant de conteneur dans la zone en surbrillance ci-dessous pour le futur si vous souhaitez supprimer ou retirer le conteneur.
2. Une fois le conteneur Apache en cours d'exécution, vérifiez si vous pouvez accéder à l'interface Web Apache en accédant à Public-Ip-address :80 à l'aide de votre navigateur Web. Si vous pouvez voir le même message, comme vous pouvez le voir ci-dessous, alors vous avez démarré avec succès votre conteneur Apache Docker.
Assurez-vous qu'Ubuntu 14.04.4 LTS Machine dispose d'un port entrant Port 80 autorisé dans le groupe de sécurité.
3. Enfin, arrêtez le conteneur si vous n'en avez plus besoin en exécutant le docker stop
commande ci-dessous. Cette commande arrêtera gracieusement l'instance de conteneur.
# Stop the container with ID aaaee64a4512 Make sure to change the container ID value to yours.
# Note: specifying the first 12 characters of the container ID is enough.
docker stop aaaee64a4512
Vous pouvez également arrêter un conteneur en cours d'exécution en spécifiant son nom dans le
docker stop
commande (docker stop docker-apache
).
Exécuter Apache Docker Container à partir d'un fichier Docker
Dans la section précédente, vous avez appris à lancer un conteneur Apache Docker en exécutant l'image httpd Docker par défaut. Que faire si vous devez mettre à jour l'image de base pour afficher un contenu différent ou l'exposer sur un autre port ?
Le déploiement d'un conteneur à l'aide d'un fichier Docker vous permet de supprimer l'étape de création manuelle d'image lorsque vous testez la même configuration sur un système d'exploitation différent. L'approche de fichier Docker est un script automatisé d'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 de 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 de ~/apache-server-docker-demo annuaire. Le index.html Le fichier est une page HTML qui affichera Ce tutoriel vous apprendra comment exécuter le 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 dans le ~/apache-server-docker-demo annuaire. Une fois terminé, Docker utilisera ce DockerFile pour exécuter toutes les commandes nécessaires pour créer une nouvelle image Docker au-dessus de n'importe quelle image de base.
Le DockerFile ci-dessous contient diverses étapes/instructions qui permettront de créer le conteneur Apache :
Maintainer
– Les instructions du responsable fournissent 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 l'extrait 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 ****index.html que vous avez créé précédemment sur l'hôte Docker sera copié dans les conteneurs /var/www/html répertoire.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 par défaut exposé surPort 80
.
# Instruction for Dockerfile to create a new image on top of the base image (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 l'tree
commande.
5. Ensuite, créez l'image en exécutant le docker build
commande. Le t
flag est utilisé pour taguer l'image apache-server
avec v1
et.
signifie le répertoire de travail actuel.
# Building the docker Image
sudo docker build -t apache-server:v1 .
Lorsque Docker s'exécute, il renvoie divers attributs. Vous verrez que l'un de ces attributs est REPOSITORY. Le nom du REPOSITORY est apache-server
, et l'image est balisée avec la version v1
, comme indiqué ci-dessous.
6. Enfin, exécutez le conteneur apache à l'aide de l'image nouvellement créée en exécutant le docker run
commande.
Le p
flag publie le(s) port(s) d'un conteneur vers l'hôte, qui est 80:80
. Le -it
indique à Docker d'allouer un pseudo-terminal connecté au stdin du conteneur.
# Running the Apache container using the newly built image
docker run -it -p 80:80 apache-server:v1
7. Enfin, vérifiez si vous pouvez accéder à l'interface Web d'Apache en accédant à Public-ip-address: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.
Conclusion
Ce didacticiel visait à vous aider tout au long du processus de configuration d'un conteneur Apache Docker à l'aide d'images Docker. Vous avez appris à lancer des conteneurs Apache à l'aide de fichiers Docker, avec lesquels vous êtes autorisé à modifier et à créer des conteneurs personnalisés de votre choix.
Alors, qu'allez-vous construire sur l'image Docker du serveur Apache ?