Pourquoi et comment utiliser Docker au lieu des utilitaires de base du serveur ?
De nombreuses entreprises utilisent une ancienne pile pour maintenir leurs serveurs et leurs projets. Disons qu'une version obsolète d'Apache est installée sur leurs serveurs, et que tous les deux mois, ils doivent mettre à jour les certificats SSL. Le plus souvent, la seule chose qu'ils font est d'extraire les changements de leur dépôt git.
Il serait préférable d'utiliser une image Docker pour simplifier le processus de construction, d'expédition et d'exécution des applications logicielles.
Qu'est-ce qu'une image Docker ?
Docker est un outil qui permet aux développeurs d'empaqueter des applications et tous les composants nécessaires, comme Apache, Composer, Drush et d'autres dépendances, dans des unités standardisées appelées conteneurs qui peuvent être facilement déplacées et exécutées sur n'importe quel système qui prend en charge Docker, ce qui rend le déploiement d'applications plus efficace et plus cohérent dans différents environnements.
Les conteneurs fonctionnent par le biais d'images qui encapsulent tout ce qui est nécessaire à l'exécution d'une application logicielle, y compris son code, ses dépendances et ses paramètres de configuration, à l'instar d'un système d'exploitation. En d'autres termes, une image est un plan statique et un conteneur est une instance exécutable de cette image.
Création d'une image Docker
Docker Hub dispose d'un référentiel d'images préconstruites. Cependant, il est possible de créer une image Docker personnalisée. Pour ce faire, nous devons écrire un Dockerfile - un fichier de code avec des commandes qui seront utilisées dans notre conteneur. Voici un exemple de Dockerfile :
- FROM php:8.2-apache
- COPY . /web
- RUN composer install
- CMD [“apache2ctl”, “-D”, “FOREGROUND”]
Pour le système d'exploitation de base, nous utiliserons l'image Apache basée sur Debian.
Copiez le dossier du code dans l'image et exécutez composer install
pour mettre à jour les paquets ; le CMD
doit exécuter la commande en arrière-plan.
Opigno Cloud utilise Docker par défaut. Nous vérifions en permanence les versions des vulnérabilités dans le conteneur Docker et les corrigeons rapidement avant de créer de nouvelles balises pour votre application (une balise correspond à une version).
Les images Docker doivent être stockées sur un hôte local ou dans un registre spécial. Une image nouvellement construite est stockée par défaut sur votre machine locale, ce qui signifie que personne ne peut télécharger cette image sur sa machine. C'est là qu'intervient le registre Docker
.
Les registres peuvent être publics ou privés. Si vous souhaitez extraire/télécharger la version nginx:latest
du registre public Docker Hub, exécutez docker pull nginx:latest
. Cependant, si vous souhaitez partager l'accès à l'image uniquement avec votre équipe de développeurs, vous devrez utiliser un registre privé.
Image Docker d'Opigno LMS
Vous pouvez essayer notre image de démonstration d'Opigno LMS en exécutant la commande docker pull opigno/cli:3.1.1
pour extraire l'image sur votre machine locale. Ensuite, vous pouvez exécuter Opigno LMS localement avec la commande docker run -p 80:8888 opigno/cli:3.1.1
et y accéder via votre navigateur à l'adresse http://0.0.0.0.
Vous devriez voir cette page :
Opigno Cloud utilise un nuage GitLab Docker Registry auto-hébergé, qui garantit la confidentialité et la sécurité, en limitant l'accès à l'équipe d'Opigno uniquement.
Il convient de noter que les images Docker sont essentielles pour le moteur Kubernetes, un sujet que nous aborderons dans notre prochain article, alors restez à l'écoute !