Должны ли быть установлены MariaDB и ngnix на моей ОС чтобы запустить эти образы на Docker?

Аватар пользователя Joseph Joseph 9 августа в 0:15

У меня ОС Ubuntu 18.04 и на ней стоит LAMP (Linux, Apache, MySQL, PHP)
Я создал папку моего Drupal 9 проекта по адресу /home/NameUser/Projects/drupal9doc1 и скачал в в эту папку Docker-based Drupal stack - где собраны необходимые образы для локального подъема Drupal сайта, а именно: образ ngnix, Apache, MariaDB, PHP и другие.

В видео уроке автор розкоментировал в файле docker-compose.yml код возле ngnix и mariadb, и возле других блоков отвечающих за другие образы. И файле .env
прописал такое:

PROJECT_NAME=new_drupal9doc1                   // у автора видео new_drupal8
PROJECT_BASE_URL=drupal9doc1.localhost         // у автора видео drupal8.localhost

А потом запустил образы:
docker-compose up -d
Я сделал аналогично.
И у меня запустились такие образы:

new_drupal9doc1_nginx
new_drupal9doc1_php
new_drupal9doc1_mariadb
new_drupal9doc1_pma
new_drupal9doc1_mailhog
new_drupal9doc1_crond
new_drupal9doc1_traefik

Но когда я в url написал:
drupal9doc1.localhost:8080
У меня:

А должно быть file not found:

Так как пока у меня нет файла index.php. Но он будет, когда добавлю в папку с проектом папку drupal9

Возможно это происходит потому, что на моем компьютере нет установленных ngnix и MariaDB? И мне нужно установить MariaDB на свою Ubuntu а вместо ngnix в файле docker-compose.yml розкоментировать код для запуска образа Apache?

Комментарии

Аватар пользователя ivnish ivnish 9 августа в 8:09

Должны ли быть установлены MariaDB и ngnix на моей ОС чтобы запустить эти образы на Docker?

Смысл докера как раз в том, чтобы не устанавливать и не настраивать ничего в своей ОС, потому что всё уже будет установлено и настроено внутри контейнеров

Аватар пользователя Joseph Joseph 9 августа в 12:04

а в Dockerfile должна быть прописана установка ngnix и MariaDB возле RUN? Или достаточно кода написаного в docker-compose. yml?
ngnix:

И MariaDB:

Аватар пользователя ivnish ivnish 9 августа в 8:11

Joseph wrote: Так как пока у меня нет файла index.php.

Его нужно создать хотя бы с

<?php
echo "123";
?>
Аватар пользователя Joseph Joseph 9 августа в 12:32

Проблема с This site can't be reached решена. Нужно было написать после двоиточия написать порт 8000 а не 8080. И сейчас у меня на странице отображает File not found.
Я создал php файл. Но все равно на странице File not found. Подскажите пожалуйста, почему docker(ну или ngnix) не видит php файл?

Аватар пользователя Joseph Joseph 9 августа в 14:14

Файл лежит по пути /home/my_username/Project/drupal9doc1/index.php Куда я и буду помещять скачаную папку drupal проекта.
Точно так само у автора видео по которому я поднимаю сайт на docker. Но у него php файл запускается в браузере а у меня file not found.
Возможно что-то нужно поменять в файле docker-compose.yml возле кода ngnix и MariaDB?

Аватар пользователя Joseph Joseph 10 августа в 0:19

Когда написал команды в том же порядке что вы написали:

А потом еще написал exit и написал находясь в папке моего проектаls -l то вот такое показало:

Есть у вас какие-то предположения почему File not found?

Аватар пользователя Joseph Joseph 10 августа в 12:06

У меня в NGINX_SERVER_ROOT: /var/www/html
В документации к docker4drupal пишет что /var/www/html/web нужно писать для composer-based projects where Drupal is in web subdirectory Но у меня не будет установлен друпал с помощью Друпала. Я скачаю друпал с drupal.org в архиве! И самое главное! Я еще даже не дошел до стадии загрузки / установки Drupal. На данный момент я просто тестирую, как работают мои запущение контейнеры. И я это проверяю, создав файл index.php, который должен просто отобразить версию PHP, потому что в нем есть написанная функция phpinfo();

Аватар пользователя ant4 ant4 10 августа в 12:33

Тогда положите index.php в /var/www/html и посмотрите, что получиться.
Вот только Drupal с такими настройками, Вы не установите.

Аватар пользователя Joseph Joseph 10 августа в 14:12

Решение: Нужно УДАЛИТЬ файл docker-compose-override.yml из папки проекта и все заработает.

Аватар пользователя ivnish ivnish 10 августа в 15:58

Вообще, нужно посмотреть что там переопределяется и настроить под себя. Если ничего подстраивать под себя не нужно, то можно и удалить

Аватар пользователя ant4 ant4 10 августа в 17:31

Согласно инструкции docker-compose.override.yml надо удалить, если не собираетесь устанавливать vanilla Drupal.
Подозреваю, после этого содержимое папки /var/www/html изменилось, или нет?

Аватар пользователя gun_dose gun_dose 10 августа в 23:02

При удалении этого файла эта папка монтируется на хост-машину и в ней лежит всё, что лежит в папке проекта