@ottilie.farrell
Вот примерный процесс, который можно использовать для создания Docker-окружения с Nginx, PHP 7.4 и Composer:
- Создайте новую директорию для вашего проекта.
- В этой директории создайте файл Dockerfile со следующим содержимым:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# Установка базового образа с PHP 7.4 и Nginx
FROM php:7.4-fpm
# Установка Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer
# Установка дополнительных расширений PHP
RUN apt-get update && apt-get install -y nginx zip unzip libzip-dev && docker-php-ext-install pdo_mysql zip
WORKDIR /var/www/html
# Копирование конфигурационных файлов и проекта
COPY nginx.conf /etc/nginx/sites-available/default
COPY . /var/www/html
# Установка зависимостей проекта с помощью Composer
RUN composer install
CMD service nginx start && php-fpm
|
- Создайте файл nginx.conf с конфигурацией Nginx:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
server {
listen 80;
server_name localhost;
root /var/www/html/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
}
|
- Создайте свой проект (например, index.php) и composer.json файл в вашей директории проекта.
- Запустите сборку вашего Docker-контейнера и запустите его:
1
2
|
docker build -t my-php-app .
docker run -d -p 8080:80 my-php-app
|
После этого ваш Docker-контейнер с Nginx, PHP 7.4 и Composer должен быть запущен и доступен по адресу http://localhost:8080/.