Conteneuriser une application PHP
Prérequis
- Vous avez installé la dernière version de Docker Desktop.
- Vous disposez d'un client git. Les exemples de cette section utilisent un client git en ligne de commande, mais vous pouvez utiliser n'importe quel client.
Aperçu
Cette section vous guide dans la conteneurisation et l'exécution d'une application PHP.
Obtenir les applications exemples
Dans ce guide, vous utiliserez une application PHP pré-construite. L'application utilise Composer pour la gestion des dépendances de bibliothèques. Vous servirez l'application via un serveur web Apache.
Ouvrez un terminal, placez-vous dans le répertoire dans lequel vous souhaitez travailler, et exécutez la commande suivante pour cloner le dépôt.
$ git clone https://github.com/docker/docker-php-sample
L'application exemple est une application basique "hello world" et une application qui incrémente un compteur dans une base de données. De plus, l'application utilise PHPUnit pour les tests.
Initialiser les ressources Docker
Maintenant que vous avez une application, vous pouvez utiliser docker init
pour créer les
ressources Docker nécessaires à la conteneurisation de votre application. À l'intérieur du
répertoire docker-php-sample
, exécutez la commande docker init
dans un terminal.
docker init
fournit une configuration par défaut, mais vous devrez répondre à
quelques questions sur votre application. Par exemple, cette application utilise la version 8.2 de PHP.
Référez-vous à l'exemple docker init
suivant et utilisez les mêmes
réponses pour vos invites.
$ docker init
Welcome to the Docker Init CLI!
This utility will walk you through creating the following files with sensible defaults for your project:
- .dockerignore
- Dockerfile
- compose.yaml
- README.Docker.md
Let's get started!
? What application platform does your project use? PHP with Apache
? What version of PHP do you want to use? 8.2
? What's the relative directory (with a leading .) for your app? ./src
? What local port do you want to use to access your server? 9000
Vous devriez maintenant avoir le contenu suivant dans votre répertoire docker-php-sample
.
├── docker-php-sample/
│ ├── .git/
│ ├── src/
│ ├── tests/
│ ├── .dockerignore
│ ├── .gitignore
│ ├── compose.yaml
│ ├── composer.json
│ ├── composer.lock
│ ├── Dockerfile
│ ├── README.Docker.md
│ └── README.md
Pour en savoir plus sur les fichiers ajoutés par docker init
, consultez les rubriques suivantes :
Exécuter l'application
À l'intérieur du répertoire docker-php-sample
, exécutez la commande suivante dans un
terminal.
$ docker compose up --build
Ouvrez un navigateur et affichez l'application à l'adresse http://localhost:9000/hello.php. Vous devriez voir une simple application "hello world".
Dans le terminal, appuyez sur ctrl
+c
pour arrêter l'application.
Exécuter l'application en arrière-plan
Vous pouvez exécuter l'application détachée du terminal en ajoutant l'option -d
.
À l'intérieur du répertoire docker-php-sample
, exécutez la commande suivante
dans un terminal.
$ docker compose up --build -d
Ouvrez un navigateur et affichez l'application à l'adresse http://localhost:9000/hello.php. Vous devriez voir une simple application "hello world".
Dans le terminal, exécutez la commande suivante pour arrêter l'application.
$ docker compose down
Pour plus d'informations sur les commandes Compose, consultez la référence de la CLI Compose.
Résumé
Dans cette section, vous avez appris comment conteneuriser et exécuter une simple application PHP à l'aide de Docker.
Informations connexes :
Prochaines étapes
Dans la section suivante, vous apprendrez comment développer votre application en utilisant des conteneurs Docker.