PHP
Déploiement Docker
Recherche…
Introduction
Docker est une solution de conteneur très répandue, largement utilisée pour déployer du code dans des environnements de production. Cela facilite la gestion et la mise à l' échelle des applications Web et des microservices.
Remarques
Ce document suppose que docker est installé et que le démon est en cours d'exécution. Vous pouvez vous référer à l' installation de Docker pour vérifier comment installer le même.
Obtenir une image de docker pour php
Pour déployer l'application sur docker, nous devons d'abord obtenir l'image du registre.
docker pull php
Cela vous donnera la dernière version de l'image du dépôt officiel de PHP . En règle générale, PHP
est généralement utilisé pour déployer des applications Web. Nous avons donc besoin d'un serveur http pour aller avec l'image. php:7.0-apache
image est préinstallé avec apache pour rendre le déploiement libre.
Ecrire dockerfile
Dockerfile
est utilisé pour configurer l'image personnalisée que nous allons créer avec les codes d'application Web. Créez un nouveau fichier Dockerfile
dans le dossier racine du projet, puis placez le contenu suivant dans le même dossier.
FROM php:7.0-apache
COPY /etc/php/php.ini /usr/local/etc/php/
COPY . /var/www/html/
EXPOSE 80
La première ligne est assez simple et est utilisée pour décrire quelle image doit être utilisée pour créer une nouvelle image. Le même pourrait être changé pour toute autre version spécifique de PHP à partir du registre.
La deuxième ligne consiste simplement à télécharger le fichier php.ini
sur notre image. Vous pouvez toujours remplacer ce fichier par un autre emplacement de fichier personnalisé.
La troisième ligne copiera les codes du répertoire actuel dans /var/www/html
notre webroot. Rappelez /var/www/html
vous /var/www/html
dans l'image.
La dernière ligne ouvrirait simplement le port 80 à l'intérieur du conteneur Docker.
Ignorer les fichiers
Dans certains cas, il peut y avoir certains fichiers que vous ne voulez pas sur le serveur, comme la configuration de l'environnement, etc. Supposons que nous ayons notre environnement dans .env
. Maintenant, pour ignorer ce fichier, nous pouvons simplement l'ajouter à .dockerignore
dans le dossier racine de notre base de code.
Image de bâtiment
Construire l'image n'est pas quelque chose de spécifique à php
, mais pour construire l'image que nous avons décrite ci-dessus, nous pouvons simplement utiliser
docker build -t <Image name> .
Une fois l’image construite, vous pouvez vérifier la même chose en utilisant
docker images
Qui listerait toutes les images installées dans votre système.
Conteneur d'application de démarrage
Une fois que nous avons une image prête, nous pouvons commencer et servir le même. Pour créer un container
partir de l'image, utilisez
docker run -p 80:80 -d <Image name>
Dans la commande ci-dessus, -p 80:80
transmettrait le port 80
de votre serveur au port 80
du conteneur. Le drapeau -d
indique que le conteneur doit être exécuté en tâche de fond. La finale spécifie quelle image doit être utilisée pour créer le conteneur.
Conteneur de vérification
Pour vérifier les conteneurs en cours d'exécution, utilisez simplement
docker ps
Cela listera tous les conteneurs exécutés sur le démon docker.
Journaux d'application
Les journaux sont très importants pour déboguer l'application. Pour vérifier leur utilisation
docker logs <Container id>