Maison > Article > développement back-end > Comment utiliser Docker pour déployer des projets en développement PHP
Utiliser Docker pour déployer des projets en développement PHP est devenu une tendance de plus en plus populaire. Docker est une technologie de conteneurisation populaire qui peut regrouper des applications dans des conteneurs, fournissant ainsi aux développeurs un environnement de développement standardisé capable de déployer de manière transparente des applications dans différents systèmes d'exploitation et environnements, et de créer, déployer et mettre à niveau des applications rapidement.
Apprenons-en davantage sur la façon d'utiliser Docker pour déployer des projets en développement PHP.
Étape 1 : Installer et configurer Docker
Tout d'abord, assurez-vous que Docker est installé sur votre système local. La méthode d'installation de Docker peut être légèrement différente selon les systèmes d'exploitation. Une fois l'installation terminée, utilisez la commande docker version dans le terminal pour vérifier si l'installation a réussi.
Le cœur de la configuration de Docker est de créer un Dockerfile, qui est un fichier texte contenant toutes les instructions pour créer une image Docker. Dans le Dockerfile, nous devons définir l'environnement requis pour le développement PHP.
Étape 2 : Écrivez le Dockerfile
Créez un Dockerfile et placez-le dans le répertoire racine du projet.
Dans le Dockerfile, nous devons inclure le contenu suivant :
# 基础镜像,Golang alpine 3.7版本 FROM alpine:3.7 # 添加所有php常用库 RUN apk update && apk add --no-cache php7-bcmath php7-ctype php7-curl php7-dom php7-fileinfo php7-ftp php7-gd php7-iconv php7-intl php7-json php7-ldap php7-mbstring php7-mysqli php7-mysqlnd php7-opcache php7-openssl php7-pcntl php7-pdo_mysql php7-pdo_sqlite php7-phar php7-posix php7-session php7-simplexml php7-soap php7-sockets php7-sqlite3 php7-tokenizer php7-xml php7-xmlreader php7-xmlwriter php7-zip php7-zlib # 修改时区 RUN apk add --no-cache tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 在容器中创建目录并设置权限 WORKDIR /var/www/ RUN mkdir -p var/www/html && chown -R nginx:nginx /var/www/html # 开放80端口 EXPOSE 80 # 开始运行PHP-FPM CMD ["php-fpm7", "-F"]
Ce qui précède est le contenu d'un simple fichier Dockerfile, qui comprend principalement les trois aspects suivants :
Étape 3 : Générer une image Docker
Utilisez la commande suivante pour créer une image PHP-FPM :
docker build . -t php-fpm7:latest
Cette commande construira automatiquement l'image à partir du répertoire actuel et définira l'étiquette sur php-fpm7:latest.
Étape 4 : Écrivez le fichier docker-compose.yml
Ensuite, nous devons préparer le fichier docker-compose.yml, qui définira le fonctionnement de notre application.
version: '3.1' services: # 定义Nginx服务 nginx: image: nginx:1.13-alpine ports: - '8000:80' volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/conf.d:/etc/nginx/conf.d:ro - ./code:/var/www/html:ro depends_on: - php # PHP-FPM服务 php: image: php-fpm7:latest volumes: - ./code:/var/www/html:rw - ./php/custom.ini:/usr/local/etc/php/conf.d/custom.ini:ro # MySQL服务 mysql: image: mysql:5.7 ports: - '3306:3306' env_file: - ./mysql/.env volumes: - ./mysql/data:/var/lib/mysql - ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
Comme indiqué ci-dessus, nous avons défini trois services : Nginx, PHP et MySQL Le port, la configuration, les dépendances, les volumes montés et d'autres paramètres peuvent être modifiés en fonction de vos besoins réels.
Étape 5 : Démarrez l'application
Enfin, nous démarrons l'application via la commande suivante :
docker-compose up
Cette commande lira le fichier docker-compose.yml et démarrera tous les services. Une fois l'exécution réussie, vous pouvez visiter http://localhost:8000 via le navigateur pour vérifier si le déploiement a réussi.
Résumé :
Ce qui précède explique comment utiliser Docker pour déployer des projets en développement PHP. Par rapport aux méthodes de déploiement traditionnelles, le déploiement Docker peut nous aider à réduire les coûts de développement et de déploiement, à améliorer l'évolutivité et la stabilité des applications et à faire gagner du temps aux développeurs. J'espère que cet article pourra aider tout le monde à mieux apprendre et appliquer la technologie Docker.
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!