Maison développement back-end tutoriel php Comment utiliser Docker pour déployer et gérer des applications PHP

Comment utiliser Docker pour déployer et gérer des applications PHP

Aug 02, 2023 pm 07:37 PM
docker 部署 管理

Comment utiliser Docker pour déployer et gérer des applications PHP

Introduction :
À l'ère actuelle du cloud computing, la technologie de conteneurisation devient de plus en plus populaire. Docker, en tant que leader parmi eux, est déjà devenu la solution de conteneurisation choisie par la plupart des développeurs. Cet article vous expliquera comment utiliser Docker pour déployer et gérer des applications PHP afin que vous puissiez développer et fournir vos applications plus efficacement.

1. Installez Docker et Docker Compose
Tout d'abord, nous devons installer Docker dans l'environnement local. Veuillez installer conformément à la documentation officielle en fonction de la version de votre système d'exploitation : https://docs.docker.com/install/

Une fois l'installation terminée, nous devons également installer Docker Compose, qui peut nous aider à gérer les applications contenant plusieurs programme de conteneurs. De même, vous pouvez trouver les instructions d'installation de votre système d'exploitation dans la documentation officielle : https://docs.docker.com/compose/install/

2. Créez une image Docker
Avant de déployer une application PHP, nous devons créer un Image Docker contenant l’environnement requis. Pour ce faire, nous devons créer un fichier appelé Dockerfile dans lequel nous définissons les étapes de construction de l'image. Dockerfile的文件,在其中定义构建镜像的步骤。

下面是一个示例的Dockerfile

# 使用一个基础的PHP镜像
FROM php:7.4-apache

# 安装所需的PHP扩展
RUN docker-php-ext-install pdo_mysql

# 将应用程序复制到工作目录
COPY . /var/www/html

# 设置Apache配置文件
COPY apache.conf /etc/apache2/sites-available/000-default.conf

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

# 设置Apache访问权限
RUN chown -R www-data:www-data /var/www/html
RUN a2enmod rewrite

# 设置环境变量
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public

# 暴露容器的端口
EXPOSE 80

# 启动Apache服务器
CMD ["apache2-foreground"]
Copier après la connexion

以上的Dockerfile使用php:7.4-apache作为基础镜像,安装了pdo_mysql扩展,将应用程序复制到容器的指定目录中,设置Apache配置文件,启用了rewrite模块,并将DocumentRoot设置为应用程序的public目录。

三、编写Docker Compose文件
接下来,我们需要编写一个Docker Compose文件,该文件用于定义和管理多个容器的运行和交互。

下面是一个示例的docker-compose.yml文件:

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:80
    volumes:
      - .:/var/www/html
    depends_on:
      - db
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: mydatabase
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword
Copier après la connexion

以上的docker-compose.yml文件定义了两个服务:appdbapp服务使用了我们之前创建的Docker镜像,将容器的80端口映射到本地的8080端口,并将当前目录挂载到容器的/var/www/html目录下。db服务使用了MySQL的官方镜像,设置了数据库的root密码、数据库名和用户密码。

四、启动容器
在命令行中,进入项目的根目录,执行以下命令来启动容器:

$ docker-compose up -d
Copier après la connexion

其中,-d参数表示在后台启动容器。

五、访问应用
在容器启动后,我们可以通过浏览器访问http://localhost:8080来查看应用程序。如果一切正常,您将看到您的PHP应用程序。

六、管理容器
使用Docker Compose,我们可以轻松管理和操作多个容器。

以下是一些常用的命令:

  • 启动容器:docker-compose up -d
  • 关闭容器:docker-compose down
  • 查看容器状态:docker-compose ps
  • 查看容器日志:docker-compose logs
  • Ce qui suit est un exemple de Dockerfile :
rrreee

Le Dockerfile ci-dessus utilise php:7.4-apache comme image de base, avec pdo_mysql, copie l'application dans le répertoire spécifié du conteneur, définit le fichier de configuration Apache, active le module de réécriture et définit DocumentRoot sur le répertoire public de l'application.

3. Écrire un fichier Docker Compose🎜Ensuite, nous devons écrire un fichier Docker Compose, qui est utilisé pour définir et gérer le fonctionnement et l'interaction de plusieurs conteneurs. 🎜🎜Ce qui suit est un exemple de fichier docker-compose.yml : 🎜rrreee🎜Le fichier docker-compose.yml ci-dessus définit deux services : app et <code>db. Le service app utilise l'image Docker que nous avons créée précédemment, mappe le port 80 du conteneur au port local 8080 et monte le répertoire actuel sur le /var/www/html code> du conteneur. annuaire. Le service <code>db utilise l'image officielle de MySQL et définit le mot de passe root, le nom de la base de données et le mot de passe utilisateur de la base de données. 🎜🎜4. Démarrez le conteneur🎜Dans la ligne de commande, entrez le répertoire racine du projet et exécutez la commande suivante pour démarrer le conteneur : 🎜rrreee🎜Parmi eux, le paramètre -d indique le démarrage du conteneur. conteneur en arrière-plan. 🎜🎜5. Accédez à l'application🎜Une fois le conteneur démarré, nous pouvons visualiser l'application en accédant à http://localhost:8080 via le navigateur. Si tout va bien, vous verrez votre application PHP. 🎜🎜6. Gérer les conteneurs🎜En utilisant Docker Compose, nous pouvons facilement gérer et exploiter plusieurs conteneurs. 🎜🎜Voici quelques commandes couramment utilisées : 🎜
  • Démarrez le conteneur : docker-compose up -d🎜
  • Fermez le conteneur : docker-compose down 🎜<li>Afficher l'état du conteneur : <code>docker-compose ps🎜
  • Afficher les journaux du conteneur : docker-compose logs🎜🎜🎜VII. Docker et Docker Compose, nous pouvons déployer et gérer des applications PHP plus facilement. En regroupant les applications et les environnements dans des conteneurs, nous garantissons que les applications s'exécutent de manière cohérente dans différents environnements et sont plus faciles à mettre à l'échelle et à fournir. Espérons que cet article pourra vous fournir des connaissances de base et des conseils sur le déploiement et la gestion d'applications PHP avec Docker. Je vous souhaite du succès dans l'utilisation de Docker pour développer et livrer vos 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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Que faire si l'image Docker échoue Que faire si l'image Docker échoue Apr 15, 2025 am 11:21 AM

Dépannage des étapes pour la construction d'image Docker échouée: cochez la syntaxe Dockerfile et la version de dépendance. Vérifiez si le contexte de construction contient le code source et les dépendances requis. Affichez le journal de construction pour les détails d'erreur. Utilisez l'option - cibler pour créer une phase hiérarchique pour identifier les points de défaillance. Assurez-vous d'utiliser la dernière version de Docker Engine. Créez l'image avec --t [Image-Name]: Debug Mode pour déboguer le problème. Vérifiez l'espace disque et assurez-vous qu'il est suffisant. Désactivez SELINUX pour éviter les interférences avec le processus de construction. Demandez de l'aide aux plateformes communautaires, fournissez Dockerfiles et créez des descriptions de journaux pour des suggestions plus spécifiques.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

See all articles