오래된 Docker 버전으로 업그레이드 불가

업그레이드 중 cd /var/discourse; git pull; ./launcher rebuild app 명령을 실행했습니다.

"Upgrade Complete"와 “UPGRADE OF POSTGRES COMPLETE” 메시지가 표시됩니다. 후자의 메시지는 "다시 rebuild 하라"고 안내하지만, 실제로는 차이가 없는 것 같습니다.

업그레이드가 완료되었음에도 앱을 시작할 수 없습니다. ./launcher start app를 실행하면 다음과 같은 오류가 발생합니다:

Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.

앱을 다시 재시작할 수 없고, 어떻게 진행해야 할지 막막합니다.

./discourse-doctor 도 도움이 되지 않습니다 (앱이 실행 중이지 않음을 감지하고, rebuild 및 재시작을 시도하지만 결국 동일한 오류가 발생함).

새로운 사용자라 파일을 첨부할 수 없어, 디버그 로그에서 관련 있다고 생각하는 부분을 여기에 공유합니다:

Failed to rebuild app.

Checking your domain name . . .

Connection to community.gingkoapp.com 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=2 -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 DISCOURSE_DEVELOPER_EMAILS=REDACTED  -e DISCOURSE_HOSTNAME=community.gingkoapp.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_USER_NAME=postmaster@community.gingkoapp.com -e DISCOURSE_SMTP_PASSWORD=REDACTED  -h community-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:fc:04:ee:f5:11 local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.
Failed to restart the container.
  1. Docker 버전은 무엇인가요?
  2. 이 FAQ에서 제안된 해결책을 시도해 보셨나요?

감사합니다!

Docker 버전 17.12.0-ce

저는 용량에 제약이 있는 환경(이미지 정리를 요청받곤 하는 상황)에서 작업하고 있으므로, 이 실패의 원인으로 타당해 보입니다.

해당 단계를 시도해 보고 결과를 알려드리겠습니다.

당신의 discourse docker 버전이 너무 오래되었습니다.
계속 진행하기 전에 업데이트하는 것을 권장합니다.

웹 인터페이스(또는 API에 대한 curl) 없이 어떻게 해야 할지 잘 모르겠습니다. 현재 서비스가 중단되어 있기 때문이죠. 하지만 조사해 보겠습니다. 일단 드롭렛 디스크 크기를 업그레이드해서 도움이 되는지 확인해 볼 생각입니다.

(혹시 제 docker 버전이 오래되었다는 뜻이었나요?)

아, 죄송합니다.
도커 버전이 너무 오래되었다고 말하려던 거였어요. 먼저 업그레이드를 시도해 보세요. 오타와 혼동을 드려서 정말 죄송합니다.

걱정 마세요. Docker 버전을 요청하셨으니 그 뜻인 것 같더라고요.
저도 14.04를 사용 중이라, 먼저 16.04로 업그레이드할 예정입니다.

다시 한번 조언해 주셔서 감사합니다. 업데이트 내용이 있으면 다시 알려드릴게요.

세상에!

14.04 > 16.04 > 18.04, 앞으로 할 일이 꽤 많겠네요.

다만 16.04도 2021년에 EOL(지원 종료)이 되니, 최소한 18.04로 업그레이드하는 것을 권장합니다.

그 자리에 머물기 위해 열심히 일하는 중… 내 인생의 이야기!
소프트웨어는 나한테 너무 빨리 변해! :stuck_out_tongue_closed_eyes:

소프트웨어 업그레이드라는 이 새로운 모험에서 모두에게 행운을 빕니다. :confetti_ball:

VPS라면 현재 서버를 업그레이드할 필요가 없습니다. 20.04가 설치된 새 서버를 생성하고 사이트를 그 새 서버로 옮기는 것이 훨씬 빠르고 쉽습니다.

하지만 컨테이너가 여러 가지 이유로 손상되어 시작되지 않습니다.

마지막 자동 백업은 공유 폴더에 있으며, 새 서버로 이동할 예정입니다.

Discourse에서 현재 지원되는 가장 오래된 Docker 버전을 어디서 찾을 수 있을까요?

여기

네, 지금 바로 그렇게 하고 있어요. 현재 환경을 업그레이드하는 것보다 훨씬 빠를 거예요. 백업 파일에서 복원할 수 있기를 손가락 걸고 기도합니다 (기존 서버에서는 아직 접근할 수 있으니까).

고마워요..!

그러면 이 버전은 현재 discourse에서 잘 지원되는 것 같네요. @itsbhanusharma님은 왜 너무 오래되었다고 생각하시나요?

지원된다고 누가 말했나요?
몇 년이 지난 오래된 Docker 버전은 개발사조차 지원하지 않습니다. 그렇다면 Discourse가 이를 지원하길 어떻게 기대할 수 있겠나요?

저는 그냥 소스 코드를 보고 있는 겁니다…

지금은 모든 게 잘 해결되었습니다. Digital Ocean의 새로운 드롭렛을 만들고 백업을 복원했습니다. 최신 백업은 손상된 것 같지만, 그 이전 백업에서 성공적으로 복원해서 게시글을 한두 개만 잃었습니다.

모두 도와주셔서 감사합니다!