После переноса контейнера Docker в Linux не загружаются изображенияLinux

Ответить
Anonymous
 После переноса контейнера Docker в Linux не загружаются изображения

Сообщение Anonymous »

После переноса контейнера Docker в Linux изображения не загружаются; в браузере я получаю:

GET /storage/image/WBRNZ0c6tnOfED2APNuYRcSjqIfzvJWXYnBlNRkB.jpg HTTP/1.1" 403
Файл docker-compose.yml выглядит так:

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

services:
nginx:
image: nginx:latest
volumes:
- ./:/var/www/
- ./_docker/nginx/conf.d/:/etc/nginx/conf.d/
ports:
- "8876:80"
depends_on:
- app
container_name: project_nginx
app:
build:
context: .
dockerfile: _docker/app/Dockerfile
volumes:
- ./:/var/www/
depends_on:
- db
container_name: project_app

db:
image: mysql:8.0
restart: always
volumes:
- ./tmp/db:/var/lib/mysql
environment:
MYSQL_DATABASE: blogdb
MYSQL_ROOT_PASSWORD: root
ports:
- "8101:3306"
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
container_name: project_db
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
environment:
PMA_HOST: db
PMA_USER: root
PMA_PASSWORD: root
ports:
- "8080:80"
depends_on:
- db
Файл nginx.conf выглядит следующим образом:

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

    server {
listen 80;
index index.php index.html;
error_log  /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/public;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
}
}

Сначала я подумал, что это проблема с разрешениями. На форуме я нашел информацию о том, что у Nginx нет прав на определенную папку, и это можно исправить командой:

chmod 777 -R Storage

Однако в этом случае я получаю: chmod: изменение разрешений «хранилища»: операция не разрешена. Затем я обнаружил, что если я запущу его с помощью sudo, я смогу предоставить права суперпользователя. Команда работает, но изображения по-прежнему не загружаются. Я копнул дальше и проверил права доступа к папкам, выполнив команду ls -l:

drwxrwxrwx 5 www-data www-data 4096 Nov 5 22:58 хранилище

В папке хранилище вроде есть разрешения для www-данных (насколько я понимаю, это обычно серверная имя пользователя).
Если я попытаюсь напрямую получить доступ к http://localhost:8876/storage/image/8Cv ... eAmNXS.jpg, я также получаю сообщение об ошибке.
Заранее спасибо; пожалуйста, не судите строго, я только учусь!

Подробнее здесь: https://stackoverflow.com/questions/791 ... ot-loading
Ответить

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

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

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

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

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