@rachel
Если вы хотите создать Docker-окружение с Nginx, PHP 7.4 и Composer, вам понадобится создать Dockerfile и docker-compose.yml файлы.
Вот примеры файлов, которые вы можете использовать в своем проекте:
Dockerfile:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# Используем официальный образ PHP 7.4 FPM FROM php:7.4-fpm # Устанавливаем зависимости для Nginx RUN apt-get update && apt-get install -y nginx # Устанавливаем Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # Копируем конфигурацию Nginx в образ COPY nginx.conf /etc/nginx/nginx.conf # Настраиваем рабочую директорию WORKDIR /var/www # Копируем и устанавливаем зависимости Composer COPY composer.json composer.lock ./ RUN composer install --no-scripts --no-autoloader # Копируем и устанавливаем файлы приложения COPY . . # Переключаемся на пользователя www-data USER www-data # Запускаем PHP-FPM и Nginx CMD php-fpm && nginx -g "daemon off;" |
docker-compose.yml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
version: '3' services: app: build: context: . dockerfile: Dockerfile volumes: - .:/var/www ports: - 8080:80 depends_on: - db db: image: mysql:latest ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: mydb MYSQL_USER: myuser MYSQL_PASSWORD: mypassword |
В этом примере мы также создали сервис для базы данных MySQL. Вы можете настроить его согласно вашим потребностям.
Поместите эти файлы в корневую папку вашего проекта и выполните следующую команду для запуска Docker-окружения:
1
|
docker-compose up |
После успешного выполнения этой команды, ваше Docker-окружение будет запущено с Nginx, PHP 7.4 и Composer. Вы сможете открыть ваше приложение в браузере по адресу http://localhost:8080.