default.conf:
Код: Выделить всё
server {
listen 80;
server_name localhost;
root /var/www/html/;
index index.php;
location ~ \.php$ {
fastcgi_pass app:9000;
fastcgi_index index.php;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
try_files $uri $uri/ /index.php;
}
}
Код: Выделить всё
version: "3"
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
- ./:/var/www/html
app:
build:
dockerfile: ./php/Dockerfile
volumes:
- /var/www/html/vendor
- ./:/var/www/html
db:
image: mysql:5.7
volumes:
- mysqldata:/var/lib/mysql
command: mysqld --sql_mode=""
ports:
- "3306:3306"
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_PASSWORD: root
MYSQL_DATABASE: docker-php
phpmyadmin:
image: phpmyadmin:latest
restart: unless-stopped
ports:
- "8080:80"
environment:
- PMA_ARBITRARY=1
- UPLOAD_LIMIT=16M
volumes:
mysqldata:
Код: Выделить всё
FROM php:5.6-fpm-alpine
ENV TZ=Europe/London
RUN docker-php-ext-install pdo pdo_mysql mysqli
ENV COMPOSER_ALLOW_SUPERUSER=1
COPY --from=composer:2.2 /usr/bin/composer /usr/bin/composer
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
COPY ./composer.* ./
RUN composer update --prefer-dist --no-scripts --no-progress --no-interaction
#COPY . ./public
RUN composer dump-autoload --optimize
RUN apk update
RUN apk add nano
COPY ./php-ini-overrides.ini /usr/local/etc/php/conf.d/
RUN composer dump-autoload --optimize
RUN apk update
RUN apk add nano
ENV PHPRC ./php.ini
ENV MAX_EXECUTION_TIME 600
ENV MEMORY_LIMIT 512M
ENV UPLOAD_LIMIT 18MK
ENV PHP_INI_DIR /usr/local/etc/php
ADD ./custom-php.ini /usr/local/etc/php/conf.d/custom-php.ini
Я попробовал запустить docker exec -it my-app-1 sh
и перейти к /var/www/html/images и я вижу файл.
Подробнее здесь: https://stackoverflow.com/questions/790 ... cker-nginx
Мобильная версия