16 декабря 2024 г.

Разработка PHP и MySQL с использованием Docker

Современные веб-разработчики часто сталкиваются с проблемами настройки окружения для проектов. Docker помогает стандартизировать и ускорить процесс развертывания приложений, изолируя их зависимости и конфигурации в контейнерах. В этой статье мы рассмотрим, как настроить окружение для разработки PHP и MySQL с помощью Docker.

Преимущества использования Docker

  • Изоляция: Каждое приложение работает в своём контейнере, что предотвращает конфликты между версиями зависимостей.

  • Мобильность: Контейнеры можно запускать на любом сервере, поддерживающем Docker.

  • Скорость: Быстрое развертывание и обновление приложений.

  • Консистентность: Все разработчики используют одинаковую среду.

Что потребуется

  • Установленный Docker и Docker Compose.

  • Базовые знания PHP и SQL.

  • Установленный редактор кода (например, VS Code).

Шаги настройки окружения

  1. Создайте структуру проекта

    project-directory/
    |-- app/
    | |-- index.php
    |-- docker-compose.yml
    |-- Dockerfile
  2. Напишите Dockerfile

    В Dockerfile будет описана конфигурация для PHP.

    # Используем базовый образ PHP
    FROM php:8.2-apache

    # Устанавливаем необходимые расширения
    RUN docker-php-ext-install mysqli

    # Копируем код приложения в контейнер
    COPY app/ /var/www/html/
  3. Создайте docker-compose.yml

    Файл docker-compose.yml поможет настроить взаимодействие между контейнерами (PHP и MySQL).

    version: '3.8'

    services:
    app:
    build:
    context: .
    ports:
    - "8080:80"
    volumes:
    - ./app:/var/www/html
    depends_on:
    - db

    db:
    image: mysql:8.0
    environment:
    MYSQL_ROOT_PASSWORD: rootpassword
    MYSQL_DATABASE: exampledb
    MYSQL_USER: user
    MYSQL_PASSWORD: password
    ports:
    - "3306:3306"
  4. Создайте файл index.php

    В директории app/ создайте файл index.php с простым подключением к базе данных.

    <?php
    $servername = "db";
    $username = "user";
    $password = "password";
    $dbname = "exampledb";

    // Создаем подключение
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Проверяем подключение
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    echo "Connected successfully";
    ?>
  5. Запустите контейнеры

    В корневой директории проекта выполните команду:

    docker-compose up --build

    После успешного запуска приложение будет доступно по адресу http://localhost:8080.

Полезные команды Docker

  • Остановить контейнеры:

    docker-compose down
  • Просмотреть запущенные контейнеры:

    docker ps
  • Войти в контейнер:

    docker exec -it container_name bash

Заключение

Использование Docker для разработки PHP и MySQL упрощает настройку окружения, делает его переносимым и управляемым. С помощью описанных шагов вы можете быстро развернуть полноценную среду для разработки, которая легко масштабируется и обновляется.


docker-compose up --build 
docker-compose up -d
docker ps


version: "3.9"
services:
nginx:
image: nginx:latest
container_name: nginx-container
ports:
- 80:80









Комментариев нет:

Отправить комментарий

Разработка PHP и MySQL с использованием Docker

Современные веб-разработчики часто сталкиваются с проблемами настройки окружения для проектов. Docker помогает стандартизировать и ускорить ...