ОШИБКА ИНИЦИАЛИЗАЦИИ при настройке

Эта ошибка при установке Discourse:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler failed with return #<Process::Status: pid 297 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
d85fae83cd3f933238f0e21e6e562469400baf63643d9c6dcd138c739dfa0830
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Я попробовал несколько решений, но они не сработали.

Вы пробовали Discourse Doctor?

./discourse-doctor
ОШИБКА
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler завершился с ошибкой, код возврата #<Process::Status: pid 298 exit 1>
Место ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'
Выполнение завершено с ошибкой с параметрами {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
00e8acc18f87b395d0b4f8de4d859dad8c8824b148243fa8f0c6085e5b0982a4
** НЕ УДАЛОСЬ ИНИЦИАЛИЗИРОВАТЬ ** Пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
==================== КОНЕЦ ЖУРНАЛА ПЕРЕСОЗДАНИЯ ====================
Не удалось пересоздать приложение.

Проверка вашего доменного имени . . .

Соединение с sosyal.dursuncanpoyraz.com.tr успешно установлено.
Возможно, вам следует удалить любые нестандартные плагины и пересоздать приложение.
Попытка перезапуска существующего контейнера . . .

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_DEFAULT_LOCALE=en -e DISCOURSE_HOSTNAME=sosyal.dursuncanpoyraz.com.tr -e DISCOURSE_DEVELOPER_EMAILS=poyrazdursuncan@gmail.com -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=poyrazdursuncan@gmail.com -e 'DISCOURSE_SMTP_PASSWORD=Poyraz!19681973' -e DISCOURSE_SMTP_ENABLE_START_TLS=true -e LETSENCRYPT_ACCOUNT_EMAIL= -h localhost-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:78:00:1c:c3:10 local_discourse/app /sbin/boot
Не удалось найти образ 'local_discourse/app:latest' локально
docker: Ошибка ответа от демона: доступ к извлечению для local_discourse/app запрещен, репозиторий не существует или может потребоваться 'docker login': отказано: запрошенный доступ к ресурсу запрещен.
См. 'docker run --help'.
Не удалось перезапустить контейнер.


==================== ПЛАГИНЫ ====================
          - git clone https://github.com/discourse/docker_manager.git

Необнаружено никаких неофициальных плагинов.

См. официальный список на https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb.

========================================

Пожалуйста, добавьте ещё несколько строк выше сообщения FAILED. Я предполагаю, что это чистая установка? Если нет, вносили ли вы какие-либо изменения в файл app.yml?

Похоже, что Docker не может извлечь базовый образ. Мне кажется, я видел такое, когда ранее входил в Docker Hub, но сессия истекла? Или вы достигли лимитов скорости?

Может ли проблема быть связана с правилом безопасности на виртуальном сервере? В первый день входа на виртуальный сервер появилась та же ошибка.

Редактировать:
Я не знаю Docker. Начал изучать его вчера. Вчера я скачал не более 20 образов.

Нет решения? Есть ли кто-нибудь, кто может помочь?

Вы можете попробовать запустить новую виртуальную машину и/или выполнить простую программу в Docker. У них есть что-то вроде «Hello World». Вы сможете проверить, работает ли Docker вообще.

Docker работает. Я установил TeamSpeak 3 с помощью Docker. Я также установил nginx и протестировал порт 80. Однако при запуске команды для Discourse возникает ошибка.

Я начал настройку с нуля.

root@localhost:~# su -
root@localhost:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse
Клонирование в «/var/discourse»...
remote: Подсчёт объектов: 5025, выполнено.
remote: Всего 5025 (изменения 0), повторное использование 0 (изменения 0), повторное использование пакетов 5025
Получение объектов: 100% (5025/5025), 1.10 МБ | 2.40 МБ/с, выполнено.
Разрешение изменений: 100% (3259/3259), выполнено.
root@localhost:~# cd /var/discourse
root@localhost:/var/discourse# ./discourse-setup
Docker не установлен. Нажмите Enter для установки с https://get.docker.com/ или Ctrl+C для выхода
  % Всего    % Получено % Передано Средняя скорость   Время    Время     Осталось  Текущая
                                 Загрузка  Выгрузка   Всего   Затрачено  Осталось  Скорость
100 13857  100 13857    0     0   6805      0  0:00:02  0:00:02 --:--:--  6809
# Выполнение скрипта установки Docker, коммит: 3d8fe77c2c46c5b7571f94b42793905e5b3e42e4
+ sh -c apt-get update -qq > /dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl > /dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - > /dev/null
Предупреждение: вывод apt-key не следует парсить (stdout не является терминалом)
+ sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq > /dev/null
+ [ -n  ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce > /dev/null
+ sh -c docker version
Клиент: Docker Engine - Community
 Версия:           20.10.2
 Версия API:       1.41
 Версия Go:        go1.13.15
 Коммит Git:        2291f61
 Собрано:             Пн Дек 28 16:17:32 2020
 ОС/Арх:           linux/amd64
 Контекст:           default
 Экспериментально:      true

Сервер: Docker Engine - Community
 Движок:
  Версия:          20.10.2
  Версия API:      1.41 (минимальная версия 1.12)
  Версия Go:       go1.13.15
  Коммит Git:       8891c58
  Собрано:            Пн Дек 28 16:15:09 2020
  ОС/Арх:          linux/amd64
  Экспериментально:     false
 containerd:
  Версия:          1.4.3
  Коммит Git:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Версия:          1.0.0-rc92
  Коммит Git:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Версия:          0.19.0
  Коммит Git:        de40ad0
Если вы хотите использовать Docker как обычный пользователь, вам следует сейчас
добавить вашего пользователя в группу «docker», например, с помощью:

  sudo usermod -aG docker ваш-пользователь

Помните, что для применения изменений вам потребуется выйти из системы и войти снова!

ПРЕДУПРЕЖДЕНИЕ: Добавление пользователя в группу «docker» предоставит возможность
         запускать контейнеры, которые могут быть использованы для получения прав root
         на хосте Docker.
         См. https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         для получения дополнительной информации.
Порт 80, по-видимому, уже занят.

Это покажет вам, какая команда использует порт 80
КОМАНДА  PID     ПОЛЬЗОВАТЕЛЬ   FD   ТИП УСТРОЙСТВО РАЗМЕР/СМЕЩЕНИЕ НОДА ИМЯ
nginx    958     root    8u  IPv4  20899      0t0  TCP *:http (СЛУШАЕТ)
nginx    958     root    9u  IPv6  20901      0t0  TCP *:http (СЛУШАЕТ)
nginx   3368 www-data    8u  IPv4  20899      0t0  TCP *:http (СЛУШАЕТ)
nginx   3368 www-data    9u  IPv6  20901      0t0  TCP *:http (СЛУШАЕТ)

Если вы пытаетесь запустить Discourse одновременно с другим веб-сервером,
таким как Apache или nginx, вам потребуется привязаться к другому порту

См. https://meta.discourse.org/t/17247

Если вы перенастраиваете уже настроенный Discourse, используйте

./launcher stop app

чтобы остановить Discourse перед перенастройкой и повторить попытку.
root@localhost:/var/discourse# ./launcher stop app

ПРЕДУПРЕЖДЕНИЕ: Мы собираемся начать загрузку базового образа Discourse
Этот процесс может занять от нескольких минут до часа в зависимости от скорости вашей сети

Пожалуйста, наберитесь терпения

2.0.20201221-2020: Получение из discourse/base
6ec7b7d162b2: Получено полностью
488a5181297e: Извлечение [========================>                          ]  384.9 МБ/775.2 МБ
^C
root@localhost:/var/discourse# ./launcher stop app

ПРЕДУПРЕЖДЕНИЕ: Мы собираемся начать загрузку базового образа Discourse
Этот процесс может занять от нескольких минут до часа в зависимости от скорости вашей сети

Пожалуйста, наберитесь терпения

2.0.20201221-2020: Получение из discourse/base
6ec7b7d162b2: Получено полностью
488a5181297e: Получено полностью
Хэш: sha256:e181dd9046cc293b10c5b29bbc21c5aa8b939ba5f0c500da4a9e952ed0b5195d
Статус: Скачан новый образ для discourse/base:2.0.20201221-2020
docker.io/discourse/base:2.0.20201221-2020
Файл конфигурации не найден, убедитесь, что containers/app.yml существует

ls: невозможно получить доступ к «*.yml»: Нет такого файла или каталога
Доступные конфигурации ( )

Как видно, вы не можете использовать настройку Discourse, если что-то работает на порту 80 или 443.

Да, всё работает. Как можно изменить порт Nginx для Discourse? У меня на сервере установлен Ghost. Почему я не могу использовать его на портах 80 и 443?