Maison  >  Article  >  développement back-end  >  Comment utiliser Docker en PHP pour le développement et le déploiement

Comment utiliser Docker en PHP pour le développement et le déploiement

PHPz
PHPzoriginal
2023-06-11 11:06:373507parcourir

Avec le développement de la technologie du cloud computing, Docker a attiré de plus en plus l'attention des développeurs. Docker fournit une technologie de virtualisation légère qui permet aux développeurs de développer, tester et déployer plus facilement des applications. Les développeurs PHP peuvent également utiliser Docker pour le développement et le déploiement. Cet article explique comment utiliser Docker pour le développement et le déploiement en PHP.

1. Installez Docker

Vous devez d'abord installer Docker sur votre ordinateur local. Pour des opérations spécifiques, veuillez vous référer à la documentation officielle d'installation. Les étapes sont les suivantes :

1. Installez Docker CE ou Docker EE

Docker CE est une version communautaire, adaptée aux particuliers et aux petits groupes. Docker EE est la version entreprise, adaptée aux environnements de production d'entreprise.

2. Installer Docker Compose

Docker Compose est un outil de Docker qui est utilisé pour gérer la combinaison de plusieurs conteneurs et les connexions réseau entre les conteneurs. Les binaires Docker Compose peuvent être téléchargés à l'aide de la commande curl.

3. Démarrez Docker

Une fois l'installation terminée, utilisez la commande suivante pour démarrer le service Docker.

sudo service docker start

2. Utilisez Docker pour le développement

1. Créez un conteneur d'application PHP

Utilisez Docker pour créer et exécuter des applications avec des conteneurs PHP. Vous devez d'abord créer un conteneur d'application PHP sur votre ordinateur local, puis copier l'application PHP dans le conteneur.

Les étapes spécifiques sont les suivantes :

1. Créer un Dockerfile

Créez un fichier nommé Dockerfile pour définir les règles de construction du conteneur. Dans ce fichier, vous pouvez spécifier l'image de base requise par l'application, installer les logiciels dépendants nécessaires, configurer l'environnement d'exécution, copier les fichiers d'application, etc.

Ce qui suit est un exemple de fichier Docker :

À PARTIR de php:7.2-apache

Installer les dépendances PHP

RUN apt-get update

&& apt-get install -y 
    git 
    zip 
    unzip 
    curl 
&& rm -rf /var/lib/apt/lists/*

Install Composer

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Définir le chemin de l'application

ENV APP_HOME /var/www/html

Copier le code de l'application

COPY $APP_HOME

Installer l'application. dépendances

RUN cd $APP_HOME

&& composer install

2. Créer une image de conteneur

Utilisez la commande suivante pour créer une image de conteneur dans le répertoire actuel.

docker build -t my-php-app .

3. Exécutez le conteneur

Utilisez la commande suivante pour exécuter le conteneur et lier le conteneur au port local 80.

docker run -d --name my-php-app -p 80:80 my-php-app

À ce stade, vous pouvez visiter http://localhost dans votre navigateur local pour voir les résultats de fonctionnement de l'application PHP.

2. Développement conteneurisé

Lorsque vous utilisez Docker pour le développement, vous pouvez accélérer le processus de développement grâce à la conteneurisation. Les étapes spécifiques sont les suivantes :

1. Créez un fichier Docker Compose

Créez un fichier nommé docker-compose.yml pour définir une combinaison en cours de plusieurs conteneurs. Dans ce fichier, vous pouvez spécifier les images de base requises par l'application, les dépendances entre les conteneurs, le mappage des conteneurs, etc.

Voici un exemple de fichier docker-compose.yml :

version : '3'
services:
web:

build: .
ports:
  - "80:80"
volumes:
  - .:/var/www/html/
networks:
  - backend

db:

image: mysql:5.7
environment:
  MYSQL_ROOT_PASSWORD: secret
  MYSQL_DATABASE: app_database
ports:
  - "3306:3306"
volumes:
  - db-data:/var/lib/mysql
networks:
  - backend

networks:
backend:
volumes:
db-data:

2 .Exécuter le conteneur

Utilisez la commande suivante pour exécuter le conteneur. Pendant le processus en cours, Docker Compose créera une image basée sur l'image définie dans le Dockerfile, puis démarrera plusieurs conteneurs et les combinera.

docker-compose up

3. Utiliser Docker pour le déploiement

L'utilisation de Docker pour le déploiement peut rendre les applications plus portables et plus faciles à maintenir. Les étapes spécifiques sont les suivantes :

1. Créer une image de conteneur

À l'aide de Docker, vous pouvez encapsuler l'application et l'environnement de base dont elle a besoin dans une image, et télécharger l'image sur Docker Hub ou un entrepôt privé. Vous pouvez télécharger l'image sur un autre serveur et l'exécuter pour déployer l'application.

Les étapes spécifiques sont les suivantes :

1. Créer une image Docker

Utilisez la commande Docker pour créer une image Docker.

docker build -t my-php-app .

2. Téléchargez l'image sur Docker Hub

Utilisez la commande Docker pour télécharger l'image sur Docker Hub.

docker tag my-php-app username/my-php-app
docker push username/my-php-app

3 Téléchargez l'image et exécutez le conteneur

Utilisez la commande Docker pour télécharger l'image de l'application. sur le serveur de déploiement et exécutez-le pour déployer l'application.

docker pull username/my-php-app
docker run -d --name my-php-app -p 80:80 username/my-php-app

À ce moment, vous pouvez accéder à http dans le navigateur de sur le serveur de déploiement ://server-ip, vous pouvez voir les résultats d'exécution de l'application PHP.

Résumé

Dans cet article, nous avons appris à utiliser Docker en PHP pour le développement et le déploiement. En utilisant Docker, les développeurs PHP peuvent créer, tester et déployer des applications plus facilement, améliorant ainsi l'efficacité du développement et la portabilité des applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn