Всем привет.
Пытаюсь настроить окружение для локальной разработки. И что-то не получается
Помогите, плиз, разобраться.
Что есть:
Убунту 22.04, docker, docker comose, docker4drupal - всё работает, контейнеры запускаются, ошибок нет.
Файл docker-compose.override.yml удален
Файлы docker4drupal лежат в /home/username/project/testdocker
index.php лежит в /home/username/project/testdocker/web
.env
PROJECT_BASE_URL=testdocker.local
PROJECT_PORT=80
docker-compose.yml настройки все по умолчанию. В контейнере nginx
NGINX_SERVER_ROOT: /var/www/html/web
Единственная особенность - всё это крутится на удаленном сервере. Доступ к которому через ssh с локальной машины. fw отключен. И вот в браузере (хром) этой локальной машины по адресу http://testdocker.local - вообще ничего (Не удается получить доступ к сайту). По http://ip_сервера удается получить 404 page not found. Но индекс-то имеется.
Что тут может быть не так?
Комментарии
Этот набор заточен для локальной разработки, так что "как есть" использовать его не получится в таком сценарии.
Тут есть две вещи, которые нужно сделать по меньшей мере:
Чтобы резольвился правильно testdocker.local в браузере, надо добавить в hosts на локальной машине:
testdocker.local ip_удалённого_сервера
Чтобы удалённый сервер отдавал то, что нужно, надо там настроить проксирование запросов к этому домену на 127.0.0.1:8000. Как именно это сделать, зависит от веб сервера установленного на сервере.
Но лучше разобраться как это всё работает, чтобы таких вопросов не возникало. Или пользоваться другими методами развёртывания окружения.
спасибо, попробую
А это в принципе где делается? В конфигах d4d или где-то еще? Сервер - nginx.
В веб сервере, который запущен на удалённом сервере. Надо написать конфиг для этого сайта.
Это сработало. Больше ничего не пришлось делать. Спасибо.
Мы для такого сценария docksal используем. Всё само проксируется, нужно только добавить один параметр в конфиг, чтобы из вне можно было подключаться
Доксал обновляемый проект? Там друпал 9 есть? А то на сайте по ссылке в примерах везде друпал 8.
Если не заведу с d4d буду пробовать этот вариант. Весь прежний опыт - openserver. Так что на данный момент очень актуален простой вариант докера для чайников.
а что именно? Напишите, пожалуйста, сразу. Чтобы не возвращаться к этому, если этот вариант буду пробовать.
Доксал это докер окружение, как и d4d. Какой сайт установите, такой и будет.
Доксал намного дружелюбнее d4d, имхо
DOCKSAL_VHOST_PROXY_IP="0.0.0.0" нужно будет добавить в файл ~/.docksal/docksal.env
Спасибо!
читаю вашу статью тут на форуме про Доксал . Пока есть свободное от проектов время надо будет попробовать все эти варианты и выбрать.
И не заработает, т.к. на сервере уже есть кому слушать 80/443. Или придётся как для d4d писать конфиг nginx.
Лучше изучить docker и свои делать наборы контейнеров, понимая, что делаешь, чем лезть в эти чёрные ящики, к тому же применяя их не по прямому назначению...
Конечно лучше. А заодно разобраться с администрированием серверов, хорошенько изучить линукс...Что бы уж совсем надежно
Проблема только в том, что на это уйдут месяцы. Сейчас мне нужно максимально быстро поднять сервер. Чтобы для начала просто попробовать как будет крутиться 9-ый друпал под линуксом. На моей винде еле ворочается.
Поэтому если религия позволяет - просто скажите конкретно, что и куда вписать. Нет так нет. В любом случае спасибо за попытку помочь.
Вообще-то я и написал выше всё что нужно сделать, по крайне мере то, что можно было написать при ваших вводных данных.
И изучать docker всяко полезнее чем разные docksal/ddev и.т.п., об этом именно было написано. Потому, что именно это тот инструмент которым вы пользуетесь. А изучать обёртки над ним это путь в никуда - время тоже будет потрачено, но при любой проблеме придётся тупо гуглить в надежде, что на грабли кто-то уже наступил, вместо понимания того, где проблема.
Ну и для поднятия продакшен окружения, ни d4d, ни docksal не годятся совсем, так на всякий случай.
пробую docksal
после запуска fin init получаю сообщение: Project URL: http://testdocker.docksal
Но открытие этого адреса в браузере выдает: Не удается получить доступ к сайту.
Вписываю DOCKSAL_VHOST_PROXY_IP="0.0.0.0" в ~/.docksal/docksal.env
Все равно нет доступа к сайту (
Заработало.
Нужно было fin system reset запустить.
fin help про эту команду умалчивает.
Вы же говорили, что у вас проблема оказалась в прокси
видимо нет. Так показалось, потому что внезапно на другой машине заработало. Но потом заработало везде. Но в любом случае "заработало" - на самом деле вовсе не заработало
А что показывает трассировка запроса?
traceroute testdocker.local
Выдает
traceroute: unknown host
traceroute ip_сервера
Выдает:
1 ip_сервера 0.004ms 0.003ms 0.002ms
Докер тут ни при чём. Поскольку DNS не настроен, нужно прописать запись в хосты.
какую запись в какие хосты?
Как выше советовали:
testdocker.local ip_удалённого_сервера
Прописать это в файл hosts на том компьютере, с которого пытаетесь открыть сайт.
сработало. Спасибо.