2014-02-14 2 views
19

Я установил Dokku на свою цифровую капельницу океана, но сделал это, прежде чем устанавливать свои записи dns, поэтому Dokku был установлен на IP. Теперь я изменил запись dns, поэтому к сайту можно получить доступ через site.com. Я могу получить доступ ранее созданные контейнеры Докку через site.com:port, как я могу изменить настройки Докку, чтобы получить доступ моего приложения, как это - appname.site.comDokku меняет настройки после установки

+2

Попробуйте исследовать этот файл: '/ home/dokku/VHOST'. – illagrenan

+2

Несомненно, можно использовать способ сброса начальной конфигурации Dokku, чтобы получить доступ к графическому интерфейсу установки. Поскольку я оставил IP-адрес домена, нет файла VHOST, и я понятия не имею, что он должен содержать. – Epigene

+0

Файл '/ home/dokku/VHOST' содержит домен верхнего уровня для вашего сервера. Например, если вы хотите использовать имя приложения, например 'app.dokku.me', ваш файл будет содержать' dokku.me'. –

ответ

18

Per https://github.com/progrium/dokku:

Настройка домена и подстановочный домена, указывающий на этот хост , Удостоверьтесь, что /home/dokku/VHOST настроен для этого домена. По умолчанию оно установлено в независимо от имени хоста, которое имеет хост. Этот файл создается только в том случае, если имя хоста может быть разрешено путем выкапывания (dig + short $ (hostname -f)). В противном случае вам необходимо создать файл вручную и установить его в ваш предпочтительный домен . Если этот файл по-прежнему отсутствует, когда вы нажимаете свое приложение, 0kdokku опубликует приложение с номером порта (то есть http://example.com:49154 - отметьте недостающий субдомен).

Чтобы устранить эту проблему, сначала нужно обновить файл/дома/Докку/ВХоста, добавив доменное имя - это будет исправить любые вновь созданные развертывания, но существующие приложения должны быть удалены из/home/dokku по имени (/ home/dokku/foo,/home/dokku/bar и т. д.) и перераспределены для этого изменения, чтобы вступить в силу, поскольку каждое приложение Dokku имеет отдельный nginx.conf в этих/home/dokku/paths, и они должны быть переписаны.

+0

Работает как шарм. Спасибо! – eagor

+1

Просто заметьте кого-нибудь еще, вам может понадобиться повторно связать контейнеры (например, если вы используете плагин db), если вы удалите и затем добавите приложение. Правильно выберите /home/dokku/foo/nginx.conf сохранить этот шаг – TheBigC

+0

Удаление приложений может быть чрезмерным, попробуйте 'dokku ps: restart ' или 'dokku ps: rebuild ' first. – Epigene

3

$ эхо «example.com»>/дома/Докку/ВХост

4

Продлить @shirkey answer: вам не нужно заново создать (уничтожить и создать заново) приложение для того, чтобы применить эти изменения. Вы можете вручную создать файл VHOST внутри каталога /home/dokku/$APP/ (как пользователь dokku), затем удалите настройку NO_VHOST (dokku config:unset $app NO_VHOST) и смените DOKKU_NGINX_PORT на 80 (dokku config:set $app DOKKU_NGINX_PORT=80) и перезапустите приложение (dokku ps:restart $app).

1

Настоятельно не нужно уничтожать и воссоздавать приложения. Во-первых, dokku domains:report сообщает вам, включены ли глобальные VHOSTS или нет. Если нет, то запустите

dokku domains:add-global yourdomain.tld 
echo yourdomain.tld | sudo tee -a /home/dokku/VHOST 
dokku domains:add myapp myapp.yourdomain.tld 
dokku domains:enable myapp 

Первый из них добавляет yourdomain.tld в/дома/Докку/HOSTNAME. Он также должен добавить его в/home/dokku/VHOST, но это не так. Так что это нужно делать вручную. Затем скажите докку, какой (дополнительный) домен вы хотите получить в myapp. Последняя команда устанавливает переменную NO_VHOST для myapp равным false.

Смежные вопросы