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

Comment configurer un serveur Web Apache simple dans un conteneur Docker

Si vous êtes un administrateur système Linux qui fournit une assistance aux développeurs, il y a de fortes chances que vous ayez entendu parler de Docker . Si ce n'est pas le cas, cette solution logicielle vous facilitera la vie dès aujourd'hui en vous aidant à réduire les coûts d'exploitation et à accélérer les déploiements, entre autres avantages.

Mais ce n'est pas de la magie. Docker en tant que plate-forme exploite les conteneurs - les packages d'une application ainsi que tous les outils dont elle a besoin pour s'exécuter afin d'éliminer les différences entre les environnements.

En d'autres termes, les logiciels conteneurisés fonctionneront et pourront être gérés de manière cohérente, quel que soit l'endroit où ils sont installés. De plus, les conteneurs sont beaucoup plus faciles à configurer, démarrer, arrêter et entretenir que les bonnes vieilles machines virtuelles.

Si vous souhaitez en savoir plus sur les différences entre ces deux technologies, le site Web officiel de Docker fournit une excellente explication.

Pour illustrer, dans cet article nous allons vous expliquer comment installer Docker sur CentOS/RHEL , Rocky/Alma Linux , et Debian/Ubuntu , et lancez un Apache 2.4 conteneur de Docker Hub .

Nous l'utiliserons ensuite pour servir une simple page Web à partir de notre répertoire d'accueil - le tout sans avoir besoin d'installer un serveur Web sur notre hôte.

Installer Docker sous Linux

Pour commencer, installons Docker à l'aide de la commande curl suivante. Cela téléchargera et exécutera un script shell qui ajoutera le référentiel Docker à notre système et installera le package.

# curl -fsSL https://get.docker.com | sh

Ensuite, utilisez la commande systemctl pour démarrer le Docker principal service, autorisez-le à démarrer lors des redémarrages et vérifiez son état.

# systemctl start docker
# systemctl enable docker
# systemctl status docker

À ce stade, nous pouvons simplement exécuter.

# docker

pour afficher la liste des commandes disponibles ou pour obtenir de l'aide.

# docker COMMAND --help
# docker ps --help

nous dira comment lister les conteneurs présents sur notre système, tandis que

# docker run --help

affichera toutes les options que nous pouvons utiliser pour manipuler un conteneur.

Configuration d'un conteneur Apache

L'une des choses étonnantes à propos du Docker est qu'il existe des dizaines de conteneurs standard que vous pouvez facilement télécharger et utiliser.

Dans l'exemple suivant, nous allons instancier un Apache 2.4 conteneur nommé tecmint-web , détaché du terminal actuel. Nous utiliserons une image appelée httpd:2.4 depuis Docker Hub .

Notre plan est d'avoir des demandes faites à notre adresse IP publique sur le port 8080 être redirigé vers le port 80 sur le conteneur. De plus, au lieu de diffuser du contenu à partir du conteneur lui-même, nous diffuserons une simple page Web à partir de /home/user/website .

Pour ce faire, nous mappons /home/user/website/ sur /usr/local/apache2/htdocs/ sur le conteneur. Notez que vous devrez utiliser sudo ou connectez-vous en tant que root pour continuer, et n'omettez pas les barres obliques à la fin de chaque répertoire.

# sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4

À ce stade, notre Apache le conteneur doit être opérationnel.

$ sudo docker ps

Créons maintenant une page Web simple nommée docker.html à l'intérieur du /home/user/website répertoire.

# vi /home/user/website/docker.html

Ajoutez l'exemple de contenu HTML suivant au fichier.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Learn Docker at Tecmint.com</title>
</head>
<body>
    <h1>Learn Docker With Us</h1>   
</body>
</html>

Ensuite, pointez votre navigateur vers Server-IP:8080/docker.html (où Server-IP est l'adresse IP publique de votre hébergeur). Vous devriez être présenté avec la page que nous avons créée précédemment.

Si vous le souhaitez, vous pouvez maintenant arrêter le conteneur.

$ sudo docker stop tecmint-web

et supprimez-le :

$ sudo docker rm tecmint-web

Pour terminer le nettoyage, vous pouvez supprimer l'image qui a été utilisée dans le conteneur (omettez cette étape si vous prévoyez de créer d'autres Apache 2.4 conteneurs bientôt).

$ sudo docker image remove httpd:2.4

Notez que dans toutes les étapes ci-dessus, nous n'avons jamais eu à installer le serveur Web sur notre hôte.

Résumé

Dans cet article, nous avons expliqué comment installer Docker et manipuler un conteneur. Malheureusement, ce ne sont que les bases - il existe des cours entiers, des livres et des examens de certification qui couvrent Dockers (et les conteneurs en général) plus en profondeur.

Si vous souhaitez en savoir plus sur Docker , nous avons déjà couvert une série de 3 articles, qui explique comment installer Docker, exécuter des applications dans des conteneurs et créer automatiquement des images Docker avec dockerfile.

  • Installer Docker et apprendre la manipulation de base des conteneurs dans CentOS et RHEL
  • Comment déployer et exécuter des applications dans des conteneurs Docker sur CentOS/RHEL
  • Créer et configurer automatiquement des images Docker avec Dockerfile sur CentOS/RHEL
  • Comment supprimer des images, des conteneurs et des volumes Docker

Considérez ceci comme votre point de départ et faites-nous savoir si vous avez des questions ou des commentaires - nous sommes impatients d'avoir de vos nouvelles !


Docker
  1. Comment configurer un serveur Web Apache

  2. Comment exécuter MySQL dans Docker Container :un guide simple et facile à suivre

  3. Comment installer Apache Web Server sur Centos 8

  4. Accéder à un serveur Web Apache dans un conteneur LXD

  5. Comment installer le serveur Web Apache sur Ubuntu

Comment installer le serveur Web Apache sur Debian 11

Comment installer le serveur Web Apache sur Ubuntu 18.04

Comment installer le serveur Web Apache sur Ubuntu 20.04

Comment optimiser le serveur Web Apache ?

Comment configurer un conteneur Apache Docker

Comment configurer le cache Nginx sur un serveur LAMP