Изображения недоступны в докере nginxPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Изображения недоступны в докере nginx

Сообщение Anonymous »

У меня настроен nginx в Docker, и все файлы .php работают, но если я попытаюсь получить доступ к каким-либо файлам .png, .gif, .css и т. д., я буду перенаправлен на index.php. Я предполагаю, что у меня неверный файл default.conf.
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;
}
}
docker-compose.yml

Код: Выделить всё

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:

Файл Docker:

Код: Выделить всё

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 compose up --build -d, чтобы запустить контейнер, а затем перехожу к localhost/images/user.gif и запускаю index.php.< /p>
Я попробовал запустить docker exec -it my-app-1 sh
и перейти к /var/www/html/images и я вижу файл.

Подробнее здесь: https://stackoverflow.com/questions/790 ... cker-nginx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»