Перейти до змісту
−10% на будь-який проєкт за промокодом−10% за промокодом

Docker + PHP — мінімальний робочий стек для розробника

Зміст
  1. Структура проекту
  2. Dockerfile для PHP 8.3
  3. docker-compose.yml
  4. Запуск
Опубліковано
Час читання
~1 хв
Переглядів
127
Оцінка читачів
Відгуків: 10
Автор
Євген Фостенко
Senior Backend & DevOps інженер
Поділитись
Docker + PHP — мінімальний робочий стек для розробника Стаття
Потрібна допомога з сайтом?
Опишіть задачу в Telegram — оціню й підкажу, з чого почати. Відповідь протягом доби.
Написати в Telegram
Безкоштовна консультація та оцінка. Відповідаю швидко.

Docker дозволяє мати однаковий стек на локальній машині та сервері. Ось мінімальна конфігурація для PHP проекту (OpenCart/WordPress).

Структура проекту

project/
├── docker-compose.yml
├── .docker/
│   ├── nginx/default.conf
│   └── php/Dockerfile
└── public_html/   # ваш PHP проект

Dockerfile для PHP 8.3

FROM php:8.3-fpm
RUN apt-get update && apt-get install -y     libzip-dev libpng-dev libjpeg-dev libwebp-dev
RUN docker-php-ext-install pdo_mysql gd zip opcache
RUN pecl install redis && docker-php-ext-enable redis
WORKDIR /var/www/html

docker-compose.yml

services:
  nginx:
    image: nginx:alpine
    ports: ["80:80"]
    volumes:
      - ./public_html:/var/www/html
      - ./.docker/nginx:/etc/nginx/conf.d
    depends_on: [php]

  php:
    build: ./.docker/php
    volumes:
      - ./public_html:/var/www/html

  db:
    image: mariadb:11
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: mydb
    volumes: [db_data:/var/lib/mysql]

  redis:
    image: redis:alpine

volumes:
  db_data:

Запуск

docker compose up -d
docker compose ps  # перевірка статусу

Хочете налаштувати Docker для вашого сервера? Замовте налаштування Docker.

Теги: dockerphpnginxрозробкаконтейнери
Потрібна допомога з сайтом?
Опишіть задачу в Telegram — оціню й підкажу, з чого почати. Відповідь протягом доби.
Написати в Telegram
Безкоштовна консультація та оцінка. Відповідаю швидко.

Відгуки читачів

5.0
Написати відгук