Я пытаюсь настроить тестовый экземпляр Discourse в виртуальной машине, чтобы поработать над импортом данных из другого программного обеспечения. Я новичок в Docker, Discourse и Ruby, поэтому пока не до конца понимаю, что происходит «под капотом». На данный момент я форкнул репозиторий discourse_docker и следовал инструкциям по ссылке (используя свою локальную виртуальную машину на Ubuntu вместо облачного сервера): discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
После настройки, согласно данным netstat, похоже, что контейнер в моей локальной виртуальной машине настроен так, что порты 80 и 443 прослушиваются только по IPv6-адресу. Я не использую IPv6 локально, поэтому не могу получить доступ к экземпляру Discourse. Как это исправить? Я посмотрел в файл app.yml, но там, похоже, нет никаких настроек привязки (bind). Я искал похожие проблемы — нашел один результат, вероятно, от 2015 года, где решением было изменить конфигурацию DNS внутри самого контейнера. Это звучит как плохая идея (Bad Idea™), поэтому я надеюсь на что-то менее «костыльное».
Я форкнул репозиторий, пытаясь следовать этой инструкции:
Хотя я не думаю, что это должно вызвать какие-либо проблемы.
Я запускаю свежую установку Ubuntu Server (скачанную с ubuntu.com) на ESXi. Всё это стандартные вещи.
Где именно в конфигурации определяется способ привязки служб?
Нет, у меня есть свой хост VMware, на котором я запускаю виртуальную машину. У меня тоже нет проблем с доступом к виртуальной машине по IPv4 ни напрямую, ни через DNS-имя. Просто по какой-то причине службы Docker (не стандартные вещи, такие как SSH-сервер) привязываются только к :::80 и :::443 вместо 0.0.0.0.
Есть ли где-нибудь соответствующий файл журнала, который мог бы предоставить некоторые детали?
Здесь есть примеры запуска импорта в контейнере. Они, вероятно, лучше, чем тот, на который вы ссылаетесь (но я не смотрел его, так что могу ошибаться).
Что ж, пока я ещё не дошёл до части импорта.
В конечном итоге я хотел бы поработать над улучшением этого скрипта импорта для нашего сайта. До сих пор я испытывал трудности с несколькими различными руководствами по началу работы, но решил, что пока лучше всего подойдёт простая установка без лишних настроек.
Проблема, скорее всего, в Docker или вашей виртуальной машине. Рекомендую изучить руководства по виртуальным машинам и Docker, начав с простого контейнера «Hello World». Это не проблема самого Discourse.