AWS ECS Docker: не указывает на путь Drupal и выдает ошибку. У вас нет прав для доступа к этому ресурсу - PullRequest
3 голосов
/ 20 февраля 2020

Структура каталогов Drupal 8 выглядит следующим образом

drupal -> Web -> Index. php

У меня есть файлы ниже

docker-compose.yml

version: '3'
services:
  drupal:
    image: drupal:latest
    container_name: drupal
    build: .
    ports:
      - "8081:80"
    volumes:
      - ./:/var/www
    restart: always

DockerFile

FROM drupal:8.6-apache

RUN apt-get update && apt-get install -y \
    curl \
    git \
    mysql-client \
    vim \
    wget

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
    php composer-setup.php && \
    mv composer.phar /usr/local/bin/composer && \
    php -r "unlink('composer-setup.php');"

RUN wget -O drush.phar https://github.com/drush-ops/drush-launcher/releases/download/0.4.2/drush.phar && \
    chmod +x drush.phar && \
    mv drush.phar /usr/local/bin/drush

COPY apache-drupal.conf /etc/apache2/sites-enabled/000-default.conf

WORKDIR /var/www/web

apache-drupal.conf

<VirtualHost *:80>
    DocumentRoot "/var/www/web/"
    DirectoryIndex index.php

    <Directory "/var/www/web/">
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/www/web/error.log
    CustomLog /var/www/web/access.log combined
</VirtualHost>

Когда я получаю доступ через Publi c IP Drupal Cluster, он будет показывать только файл error.log & access.log. Не Drupal весь проект.

Что-то не хватает в пути?

1 Ответ

2 голосов
/ 28 февраля 2020

Кажется, вы обнаружили какое-то столкновение.

  • Ваше изображение drupal:8.6-apache содержит Drupal в папке /var/www/html, но вы сопоставляете свой том с папкой /var/www/ внутри контейнера. Это все ломает.
  • Ваш apache-drupal.conf файл указывает на /var/www/web, но проект уже находится внутри html (мы находимся в контейнере)

Простой способ заставить его работать - выполнить 3 модификации (если вам достаточно получить только сопоставленные журналы)

  1. Изменить отображение тома в docker-compose.yml на /var/www/web
  2. Изменить DocumentRoot и Directory в apache-drupal.conf до /var/www/html/
...