Maison  >  Article  >  développement back-end  >  Comment utiliser Docker pour packager et déployer des programmes PHP ?

Comment utiliser Docker pour packager et déployer des programmes PHP ?

王林
王林original
2023-07-29 17:48:381797parcourir

Comment utiliser Docker pour empaqueter et déployer des programmes PHP ?

Avec l'application généralisée de la technologie de cloud computing et de conteneurisation, de plus en plus de développeurs commencent à utiliser Docker pour empaqueter et déployer des applications. Dans cet article, nous présenterons comment utiliser Docker pour empaqueter et déployer des programmes PHP et donnerons des exemples de code pertinents.

1. Installer Docker

Avant de commencer, nous devons d'abord installer Docker. Pour les étapes d'installation, veuillez vous référer à la documentation officielle de Docker et choisir la méthode d'installation correspondante en fonction des différents systèmes d'exploitation.

2. Créer un Dockerfile

Dockerfile est un fichier utilisé pour définir le processus de création d'image Docker. Nous pouvons spécifier le logiciel, l'environnement et les dépendances requis, et y intégrer le programme PHP.

Tout d'abord, créez un fichier nommé Dockerfile dans le répertoire racine du programme, puis ajoutez-y le contenu suivant :

# 指定基础镜像
FROM php:7.4-apache

# 拷贝程序文件到镜像中
COPY . /var/www/html/

# 安装程序所需的依赖
RUN apt-get update && apt-get install -y 
    libpng-dev 
    libonig-dev 
    libxml2-dev 
    && docker-php-ext-install -j$(nproc) pdo 
    && docker-php-ext-install -j$(nproc) mbstring 
    && docker-php-ext-install -j$(nproc) exif 
    && docker-php-ext-install -j$(nproc) pcntl 
    && docker-php-ext-install -j$(nproc) bcmath 
    && docker-php-ext-install -j$(nproc) gd 
    && docker-php-ext-install -j$(nproc) zip 
    && docker-php-ext-install -j$(nproc) mysqli 
    && docker-php-ext-install -j$(nproc) xml

# 设置Apache的DocumentRoot目录
RUN sed -ri -e 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!/var/www/html/public!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# 重启Apache服务
RUN service apache2 restart

Le contenu du Dockerfile ci-dessus comprend les parties suivantes :

  • Spécifiez que l'image de base utilisée est php:7.4- apache, cette image contient déjà l'environnement d'exécution de PHP et Apache.
  • Copiez les fichiers du programme dans le répertoire /var/www/html/ de l'image.
  • Utilisez la commande apt-get pour installer les dépendances requises par le programme.
  • Définissez le répertoire DocumentRoot d'Apache sur /var/www/html/public.
  • Redémarrez le service Apache.

3. Créez l'image Docker

Exécutez la commande suivante dans le répertoire où se trouve le fichier Docker, et une image Docker sera construite sur la base du fichier Docker :

$ docker build -t php-app .

Dans la commande ci-dessus, -t php -app est exprimé comme Spécifiez un nom pour l'image construite, et . indique le répertoire où se trouve le Dockerfile. -t php-app表示为构建的镜像指定一个名称,.表示Dockerfile所在的目录。

四、运行Docker容器

构建完镜像后,我们可以使用以下命令来运行一个Docker容器:

$ docker run -d -p 80:80 php-app

以上命令中,-d表示在后台运行容器,-p 80:80表示将容器的80端口映射到主机的80端口,php-app

4. Exécutez le conteneur Docker

Après avoir construit l'image, nous pouvons utiliser la commande suivante pour exécuter un conteneur Docker :

rrreee

Dans la commande ci-dessus, -d signifie exécuter le conteneur dans le en arrière-plan, -p 80:80 signifie mapper le port 80 du conteneur sur le port 80 de l'hôte, et php-app signifie le nom du conteneur en cours d'exécution.
  1. Maintenant, vous pouvez accéder au programme PHP exécuté dans le conteneur Docker en accédant à http://localhost.
  2. 5. Instructions supplémentaires
  3. Si le programme doit se connecter à la base de données, vous pouvez ajouter le pilote de base de données correspondant au Dockerfile et spécifier les paramètres de connexion à la base de données lors de l'exécution du conteneur.

Si le programme nécessite d'autres services ou composants, vous pouvez ajouter les étapes d'installation et de configuration correspondantes dans le Dockerfile.

Vous pouvez utiliser Docker Compose pour simplifier le processus de création et d'exécution de conteneurs. Pour une utilisation spécifique, veuillez vous référer à la documentation officielle de Docker.

🎜🎜Résumé🎜🎜En utilisant Docker, nous pouvons empaqueter le programme PHP dans un conteneur indépendant pour un déploiement et une migration faciles. Cet article explique comment utiliser Docker pour implémenter le packaging et le déploiement de programmes PHP, et donne des exemples de code pertinents. J'espère que cela aide! 🎜

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