Docker est une plate-forme de conteneurisation légère qui peut regrouper des applications et leurs environnements dépendants pour réaliser un déploiement rapide et stable dans différents environnements. Cet article vous expliquera comment utiliser la conteneurisation Docker et le déploiement d'applications du framework Yii pour rendre vos processus de développement et de lancement plus efficaces et cohérents.
Tout d'abord, créez un nouveau fichier nommé Dockerfile dans le répertoire racine du projet et écrivez le contenu suivant :
FROM php:7.4-fpm
WORKDIR /var/www
COPY composer.json .
RUN composer install
COPY . .
EXPOSE 80
CMD ["php", "-S", "0.0.0.0:80"]
Ce fichier définit l'image de base de l'environnement PHP, installe les dépendances du projet et définit le répertoire de travail et la commande de démarrage du conteneur.
Entrez le répertoire racine du projet dans le terminal et exécutez la commande suivante pour créer l'image :
<span class="fun">docker build -t yii-app .</span>
Cette commande générera une image nommée yii-app basée sur la configuration dans le Dockerfile.
Une fois l'image créée, vous pouvez exécuter le conteneur avec la commande suivante :
<span class="fun">docker run -p 8080:80 yii-app</span>
Après l'exécution, vous pouvez vérifier si l'application Yii démarre normalement en visitant http://localhost:8080 .
Lorsque l'application est testée localement, elle peut être déployée sur un serveur distant. Tout d’abord, transférez l’image créée vers Docker Hub ou un entrepôt d’images privé, puis effectuez les opérations suivantes sur le serveur :
Tirez l'image :
<span class="fun">docker pull <registry>/<namespace>/yii-app</span>
Exécutez le conteneur :
<span class="fun">docker run -p 80:80 <registry>/<namespace>/yii-app</span>
Volonté
Si votre projet Yii nécessite une base de données, un cache et d'autres services, vous pouvez utiliser Docker Compose pour gérer uniformément plusieurs conteneurs. Créez un fichier docker-compose.yml dans le répertoire racine du projet. L'exemple est le suivant :
version: '3'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./:/var/www
Exécutez ensuite la commande suivante dans le terminal pour démarrer l'application :
<span class="fun">docker-compose up -d</span>
Docker Compose créera automatiquement l'image et démarrera les conteneurs requis afin que votre application Yii et les services dépendants puissent fonctionner ensemble.
Le déploiement conteneurisé des applications du framework Yii via Docker simplifie non seulement la configuration de l'environnement, mais maintient également la cohérence dans les environnements de développement, de test et de production. Qu'il s'agisse d'un déploiement sur un seul conteneur ou d'une orchestration multi-conteneurs, Docker fournit une solution efficace pour l'intégration et la livraison continues des projets Yii.