⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

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.