설치 시 BOOTSTRAP 실패

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
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler failed with return #<Process::Status: pid 298 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 {} \\+"]}
00e8acc18f87b395d0b4f8de4d859dad8c8824b148243fa8f0c6085e5b0982a4
** 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.
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to sosyal.dursuncanpoyraz.com.tr succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . . 

+ /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
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
Failed to restart the container.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.

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

FAILED 메시지 위에 몇 줄 더 포함해 주세요. 처음 설치하신 건가요? 아니라면 app.yml 파일을 수정한 부분이 있나요?

Docker가 기본 이미지를 가져오지 못하는 것 같습니다. 이전에 Docker Hub에 로그인했다가 로그인 상태가 만료되었을 때 이런 일이 발생한다고 들었습니다. 아니면 속도 제한에 걸린 것일 수도 있습니다.

가상 서버의 보안 규칙 때문에 문제가 발생한 걸까요? 가상 서버에 처음 접속했을 때에도 동일한 오류가 발생했습니다.

수정:
Docker에 대해 잘 모릅니다. 어제 처음 배우기 시작했고, 어제는 최대 20개의 이미지만 가져왔습니다.

해결책이 없나요? 도와줄 사람이 있을까요?

새 VM을 시작하거나 / 또는 단순한 Docker 프로그램을 실행해 볼 수 있습니다. Hello World 수준의 간단한 예제가 있습니다. Docker가 아예 작동하는지 확인할 수 있습니다.

Docker는 작동합니다. Docker로 teamspeak3를 설치했고, nginx도 설치하여 80번 포트 테스트까지 마쳤습니다. 하지만 discourse 명령을 실행할 때 오류가 발생합니다.

처음부터 설치를 시작했습니다.

root@localhost:~# su -
root@localhost:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse
Cloning into '/var/discourse'...
remote: Enumerating objects: 5025, done.
remote: Total 5025 (delta 0), reused 0 (delta 0), pack-reused 5025
Receiving objects: 100% (5025/5025), 1.10 MiB | 2.40 MiB/s, done.
Resolving deltas: 100% (3259/3259), done.
root@localhost:~# cd /var/discourse
root@localhost:/var/discourse# ./discourse-setup
Docker not installed. Enter to install from https://get.docker.com/ or Ctrl+C to exit
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13857  100 13857    0     0   6805      0  0:00:02  0:00:02 --:--:--  6809
# Executing docker install script, commit: 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
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ 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
Client: Docker Engine - Community
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:17:32 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.2
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8891c58
  Built:            Mon Dec 28 16:15:09 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         for more information.
Port 80 appears to already be in use.

This will show you what command is using port 80
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx    958     root    8u  IPv4  20899      0t0  TCP *:http (LISTEN)
nginx    958     root    9u  IPv6  20901      0t0  TCP *:http (LISTEN)
nginx   3368 www-data    8u  IPv4  20899      0t0  TCP *:http (LISTEN)
nginx   3368 www-data    9u  IPv6  20901      0t0  TCP *:http (LISTEN)

If you are trying to run Discourse simultaneously with another web
server like Apache or nginx, you will need to bind to a different port

See https://meta.discourse.org/t/17247

If you are reconfiguring an already-configured Discourse, use 

./launcher stop app

to stop Discourse before you reconfigure it and try again.`
root@localhost:/var/discourse# ./launcher stop app

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

2.0.20201221-2020: Pulling from discourse/base
6ec7b7d162b2: Pull complete 
488a5181297e: Extracting [========================>                          ]  384.9MB/775.2MB
^C
root@localhost:/var/discourse# ./launcher stop app

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

2.0.20201221-2020: Pulling from discourse/base
6ec7b7d162b2: Pull complete 
488a5181297e: Pull complete 
Digest: sha256:e181dd9046cc293b10c5b29bbc21c5aa8b939ba5f0c500da4a9e952ed0b5195d
Status: Downloaded newer image for discourse/base:2.0.20201221-2020
docker.io/discourse/base:2.0.20201221-2020
Config file was not found, ensure containers/app.yml exists

ls: cannot access '*.yml': No such file or directory
Available configs ( )

화면에서 보듯이, 포트 80 또는 443에서 무언가가 실행 중이라면 Discourse 설치를 사용할 수 없습니다.

네, 작동합니다. Discourse의 Nginx 포트를 어떻게 변경하나요? 제 서버에는 Ghost가 설치되어 있습니다. 80번 포트와 443번 포트를 사용할 수 없는 이유는 무엇인가요?