Comment configurer un simple serveur Web Apache dans un conteneur Docker

Comment configurer un simple serveur Web Apache dans un conteneur Docker

Si vous êtes un administrateur du système Linux qui fournit un soutien aux développeurs, il est probable que vous ayez entendu parler Docker. Sinon, cette solution logicielle vous facilitera la vie en commençant 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 magique. Docker Comme une plate-forme exploite les conteneurs - packages d'une application ainsi que tous les outils dont il a besoin pour éliminer les différences entre les environnements.

En d'autres termes, les logiciels conteneurisés fonctionneront et peuvent être gérés de manière cohérente, peu importe où il est installé. De plus, les conteneurs sont beaucoup plus faciles à configurer, à démarrer, à arrêter et à maintenir que les bonnes anciennes machines virtuelles.

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

Pour illustrer, dans cet article, nous expliquerons comment installer Docker sur Centos / Rhel, Rocky / Alma Linux, et Debian / Ubuntu, et faire tourner un apache 2.4 récipient de Hub docker.

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

Installation de Docker sur Linux

Pour commencer, installons Docker en utilisant 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: // obtenez.docker.com | shot 
Installez Docker dans Linux

Ensuite, utilisez la commande SystemCTL pour démarrer le principal Docker Service, permettez-lui de commencer pendant les redémarrages et de vérifier son statut.

# systemctl start docker # systemctl activer docker # systemctl status docker 
Vérifiez l'état du docker dans Linux

À ce stade, nous pouvons simplement exécuter.

# Docker 

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

# Commande docker - help # docker ps - help 

nous dira comment énumérer les conteneurs présents sur notre système, alors que

# docker run - help 

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

Aide à l'utilisation de la commande docker

Configuration d'un conteneur Apache

L'une des choses incroyables à propos du Docker L'écosystème est qu'il y a des dizaines de conteneurs standard que vous pouvez facilement télécharger et utiliser.

Dans l'exemple suivant, nous instancions un Apache 2.4 conteneur nommé Tecmint-Web, détaché du terminal actuel. Nous utiliserons une image appelée httpd: 2.4 depuis Hub docker.

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

Nous faisons cela en mappant / home / utilisateur / site Web / sur le / usr / local / apache2 / htdocs / sur le conteneur. Notez que vous devrez utiliser Sudo ou se connecter comme racine pour procéder et n'omettre pas les barres obliques à la fin de chaque répertoire.

# sudo docker run -dit --name Tecmint-web -p 8080: 80 -v / home / user / site Web /: / usr / local / apache2 / htdocs / httpd: 2.4 
Tirez le conteneur Docker Apache

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

$ sudo docker ps 
Vérifiez le conteneur Apache Docker

Créons maintenant une page Web simple nommée docker.html à l'intérieur de / Home / User / Site Web annuaire.

# VI / Home / User / Site Web / Docker.html

Ajoutez l'exemple de contenu HTML suivant au fichier.

    Apprenez Docker à Tecmint.com   

Apprendre docker avec nous

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

Vérifiez la page Apache

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 voudrez peut-être 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 supprimer 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 y a des cours entiers, des livres et des examens de certification qui couvrent Dockers (et conteneurs en général) plus en profondeur.

Si vous voulez 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.

  • Installez Docker et apprenez 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 les images Docker avec Dockerfile sur Centos / Rhel
  • Comment supprimer les images, les conteneurs et les volumes Docker

Considérez cela comme votre point de départ et faites-nous savoir si vous avez des questions ou des commentaires - nous sommes impatients de vous entendre!