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.
Потрібна допомога з сайтом?
Опишіть задачу в Telegram — оціню й підкажу, з чого почати. Відповідь протягом доби.
Написати в Telegram
Безкоштовна консультація та оцінка. Відповідаю швидко.