Utiliser des conteneurs Docker avec WordPress
Publié: 2022-06-30L'exécution de sites Web WordPress peut impliquer l'utilisation d'un grand nombre de configurations et de dépendances logicielles pour produire des produits de haute qualité. Vous vous êtes peut-être demandé s'il existait un moyen plus simple de développer ce type de projets localement sans exécuter autant de progiciels différents sur votre propre machine.
Heureusement, Docker est un produit qui offre une solution pour une configuration WordPress plus rapide et plus fluide. Plus qu'une simple machine virtuelle, Docker fournit des conteneurs pour développer des sites Web WordPress en plus d'autres applications et logiciels. Docker peut également vous aider à préparer facilement des applications pour l'expédition vers d'autres plates-formes, en rationalisant votre flux de travail.
Dans cet article, nous examinerons ce que sont exactement les conteneurs et comment ils affectent le développement. Ensuite, nous expliquerons comment configurer un conteneur pour le développement WordPress local et le préparer pour la production. Commençons!
Que sont les conteneurs ?
L'installation de WordPress n'est pas une promenade de santé, et il peut être écrasant de développer un site Web WordPress. En termes de développement Web, les conteneurs sont des unités logicielles standardisées qui regroupent votre code et toutes ses dépendances, de sorte que le déploiement de WordPress devient beaucoup plus facile. Plusieurs conteneurs permettent également de le faire de manière fiable d'un environnement à l'autre.
Bien que Docker soit une sorte de virtualisation, il est différent des machines virtuelles (VM) ordinaires. Alors que les machines virtuelles utilisent un espace précieux, ajoutant le système d'exploitation hôte à l'espace utilisateur pour chaque application, le développement conteneurisé le partage dans tous les conteneurs.
La vraie beauté de Docker est qu'il fonctionnera de la même manière, quel que soit le type de système d'exploitation sur lequel vous vous trouvez. De plus, vous pouvez exécuter de nombreux conteneurs Docker sur une machine qui, autrement, aurait du mal avec le même nombre de machines virtuelles. Vous n'avez pas non plus à vous soucier des erreurs que le développement local peut parfois entraîner. Ceci est autrement connu comme l'énigme « mais cela fonctionne sur ma machine » dans le développement d'applications.
Premiers pas avec Docker
Docker propose de nombreux produits différents, qui se combinent pour créer une puissante suite d'outils de développement. Vous pouvez démarrer avec Docker Engine en téléchargeant gratuitement la version Community :
Vous devrez créer un compte Docker pour télécharger le moteur. Ensuite, vous voudrez vous familiariser avec la documentation de démarrage de Docker. Vous aurez le choix entre huit versions différentes de Docker. Pour cet exemple, nous allons télécharger Docker Desktop pour Mac :
Vous devrez vous connecter à votre compte Docker pour télécharger le moteur. De plus, vous voudrez vous assurer que vous disposez d'une application de terminal prête à l'emploi sur votre ordinateur.
Utiliser un conteneur pour WordPress (avec Docker)
Pour utiliser des conteneurs Docker pour développer un site Web WordPress localement, vous utiliserez également une autre application Docker. Nous verrons comment installer Compose dans un instant, mais il est important de savoir que cet outil est utilisé pour définir et exécuter des applications multi-conteneurs dans Docker. Ensuite, vous êtes prêt à vous lancer !
Étape 1 : Installer Compose
Avant de vous lancer dans l'action avec Docker, vous devez vous assurer que vous avez installé Compose. Si vous utilisez Docker Desktop pour Mac ou Windows, Compose est préinstallé :
Si vous travaillez sous Linux, vous devrez utiliser Terminal pour exécuter les commandes d'installation. Gardez simplement à l'esprit que Compose dépend du moteur Docker. Vous aurez besoin d'avoir les deux installés afin de vous engager dans n'importe quel développement WordPress.
Compose utilise un fichier YAML Ain't Markup Language (YAML) pour configurer tous les services de votre application. Il s'agit d'une manière conviviale de présenter la sérialisation des données, et cela fonctionne avec tous les langages de programmation. Dans ce cas, le fichier YAML configurera les informations de base de données nécessaires pour WordPress.
Étape 2 : Définir le projet
Une fois que vous avez installé Docker Engine et Compose, vous pouvez commencer votre premier projet de développement WordPress. Vous devrez créer un nouveau répertoire de projet vide à l'aide de la commande 'make directory' :

mkdir new_wordpress/
Le répertoire que vous configurez sera le contexte de votre développement et ne contiendra que les éléments nécessaires, y compris votre fichier docker-compose.yaml. Nous allons créer ce fichier à l'étape suivante.
Ensuite, vous pouvez vous déplacer dans votre nouveau répertoire à l'aide de la commande suivante :
cd new_wordpress/
Vous serez maintenant dans votre nouveau répertoire de projet et prêt à vous mettre au travail.
Étape 3 : Créer un fichier Docker pour YAML
Maintenant, vous devrez créer un nouveau fichier docker-compose.yaml. Cela créera votre nouvelle installation WordPress et la base de données MySQL nécessaire. Votre fichier contiendra toutes les informations pour WordPress et votre base de données, y compris les ports, bases de données, noms d'hôte et mots de passe nécessaires.
Votre fichier YAML ressemblera à ceci :
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
Il convient de noter que les volumes Docker contiennent des données persistantes, et vous pouvez vous référer à la documentation sur les volumes pour être pleinement opérationnel.
Étape 4 : Construire le projet
Maintenant que vous avez configuré le fichier YAML, vous devez exécuter la commande qui va extraire toutes les images requises et configurer votre projet WordPress. Depuis le répertoire de votre projet, vous exécuterez la commande suivante :
docker-compose up -d
Vous devriez maintenant voir que Docker « extrait » les images MySQL et WordPress.
Il convient de noter que les pages d'images Docker Hub contiennent de nombreuses informations précieuses concernant les conteneurs MySQL et WordPress :
Considérez-les comme votre guide de référence tout-en-un avec des commandes utiles pour l'image du conteneur. Ils valent la peine d'être mis en signet pour une utilisation ultérieure.
Étape 5 : Accédez à votre installation WordPress
Étant donné que vous installez ce site localement, vous devrez utiliser le port indiqué dans votre fichier YAML plutôt que le script WordPress /install.php
typique. Puisque nous utilisons Docker Desktop pour Mac dans notre exemple, nous utiliserons https://localhost
comme adresse IP et ouvrirons le port https://localhost:8000
. Il s'agit du port désigné dans votre fichier YAML.
Vous serez probablement en territoire familier maintenant si vous avez déjà installé WordPress, et vous pouvez terminer le processus de « célèbre installation en cinq minutes » :
Vous devrez peut-être donner quelques minutes à Docker pour charger et initialiser complètement les images, mais vous pourrez ensuite accéder à WordPress dans un navigateur pour effectuer les étapes d'installation standard.
Il est également recommandé de "fermer et nettoyer" une fois l'installation terminée. Pour ce faire, vous pouvez utiliser la commande Docker 'down'. Cela arrêtera et supprimera les conteneurs, mais préservera la base de données WordPress. Il y a pas mal de choses à comprendre sur la mise en pause, la suppression et l'arrêt des conteneurs si vous utilisez Docker, il vaut donc la peine d'en savoir plus sur le sujet.
Puis-je envoyer une image WordPress au serveur de production ?
Il est important de noter ici que les sites hébergés sur des serveurs WP Engine n'ont pas l'accès root nécessaire pour configurer une nouvelle image docker. Cependant, si votre site est sur un serveur de production, vous pouvez suivre les étapes ci-dessous pour expédier votre image.
Maintenant que vous avez créé une image WordPress localement, vous vous demandez peut-être comment utiliser la même image sur un serveur de production. Certaines des étapes que vous venez de terminer seront les mêmes, mais vous devrez d'abord créer un référentiel privé sur Docker Hub.
Pour mettre votre conteneur WordPress Docker en production, vous devrez utiliser votre compte Docker et transférer l'image vers un référentiel privé. À partir de là, vous pouvez suivre les mêmes étapes que nous avons décrites précédemment, mais vous extrairez l'image de votre référentiel directement vers votre serveur de production en modifiant les informations de port dans votre fichier YAML.
Il existe une option gratuite pour utiliser des référentiels privés, mais vous ne pouvez en créer qu'un seul. Heureusement, Docker propose de nombreux niveaux de tarification pour répondre à presque tous les besoins des développeurs :
En fin de compte, si vous cherchez à améliorer votre flux de travail de développement ou si vous vous familiarisez simplement avec ce domaine, Docker est un excellent outil à avoir dans votre kit de ressources. Il fournit également une documentation et un support utiles.
Construisez quelque chose de génial avec WP Engine
Maintenant que vous avez été orienté vers Docker, vous pourriez être impatient de vous lancer et de commencer à développer de nouvelles applications pour configurer un site WordPress. Gardez à l'esprit que l'un des plus grands avantages de Docker est que vous saurez que vos applications ne rencontreront pas d'erreurs bizarres spécifiques à la machine.
Chez WP Engine, nous aimons partager les meilleures ressources de développement afin que vous puissiez créer des expériences numériques incroyables pour vos clients. Que vous soyez en phase de développement, de mise en scène ou de production de votre projet, nous avons des plans d'hébergement et des solutions numériques innovantes pour vous !
Vous voulez connaître d'autres moyens d'installer rapidement des applications WordPress ? Ou peut-être d'autres façons de configurer un site WordPress ? Faites-nous part de vos réflexions dans la section des commentaires.