수년간 DigitalOcean 드롭렛에서 Discourse를 셀프호스팅으로 운영하고 있으며, 관리자 페이지와 SSH 접속 후 CLI를 통해 여러 번 업데이트를 진행했지만 문제없이 잘 사용해 왔습니다. 이번이 처음 겪는 문제입니다. 오늘(2025년 2월 8일)에는 관리자 페이지를 통해 Docker 컨테이너 업데이트를 정상적으로 수행했습니다. 이후 Discourse 업데이트를 시작했으나 실패했습니다. SSH로 접속하여 다음 명령어를 실행했습니다:
sudo ./launcher rebuild app
그리고 다음과 같은 오류가 발생했습니다:
WARNING: Docker version 20.10.14 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
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.20250129-0720: Pulling from discourse/base
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Unable to find image 'discourse/base:2.0.20250129-0720' locally
docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit.
See 'docker run --help'.
Your Docker installation is not working correctly
See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
(Discourse 서버가 다운되어 있어 더 이상 관리자 페이지 업데이트 화면의 오류 메시지를 확인할 수 없습니다.)
sudo apt update와 sudo apt upgrade를 실행했는데 문제없이 잘되었습니다. 그 후 다시 sudo ./launcher rebuild app를 실행해 보았더니 다음과 같은 오류가 발생했습니다:
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
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
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
Unable to find image 'discourse/base:2.0.20250129-0720' locally
docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit.
See 'docker run --help'.
Your Docker installation is not working correctly
이전과 동일한 오류인데, 이제 비추천(deprecated) 버전이 20.10.14 대신 24.0.2로 표시되고 있습니다. sudo apt install docker-ce를 시도해 보았지만, sudo ./launcher rebuild app를 실행할 때 여전히 동일한 오류가 발생합니다. 24.0.7 이상으로 업그레이드하려는 것처럼 보이지 않습니다.
방금 Docker 웹사이트에서 Docker 로그인을 성공적으로 생성했습니다. Docker 웹사이트에는 로그인할 수 있지만, 명령줄에서 docker login을 실행하고 사용자 이름과 비밀번호를 입력하면(오타를 방지하기 위해 키체인에서 복사하여 붙여넣었습니다) 다음과 같은 오류가 발생합니다:
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/auth": dial unix /var/run/docker.sock: connect: permission denied
비밀번호를 잘못 붙여넣은 것이 아닐까 봐 여러 번 시도해 보았지만 모두 실패했습니다. 별도로 생성해야 하는 로그인이 따로 있을까요?
네. Docker만 업그레이드를 시도할 것입니다. Docker는 경우에 따라 여러 다른 이름으로 불리기도 하므로, 모든 것을 업그레이드하는 것이 더 확실한 해결책이라고 생각했습니다.
그것은 당신의 OS 자격 증명이 아니라 Docker 자격 증명을 요구하는 것입니다. 제가 그렇게 하면 다음과 같은 결과가 나옵니다:
USING WEB-BASED LOGIN
To sign in with credentials on the command line, use 'docker login -u <username>'
Your one-time device confirmation code is: WZYX-ABCD
Press ENTER to open your browser or submit your device code here: https://login.docker.com/activate
root로 실행 중인가요, 아니면 Docker를 사용할 권한이 없는 다른 사용자로 실행 중인가요?
네, 문제가 발생한 이유는 루트 권한으로 실행하지 않아서 sudo docker login 대신 docker login을 실행했기 때문이었습니다. 하지만 저는 OS 사용자 이름과 비밀번호가 아니라 Docker 사용자 이름과 비밀번호를 입력했습니다. 제가 그렇게까지 엉망진창은 아니거든요!
다시 sudo ./launcher rebuild app을 실행했는데 이번에는 오류가 발생하지 않았습니다. 프로그램이 다시 실행하라고 해서 그렇게 했습니다. 그런 다음 sudo ./launcher start app을 실행하니 모든 것이 정상적으로 작동하고 있습니다!
정말 감사합니다! 저는 docker login(그리고 루트 권한으로 로그인)만 하면 되는 것이었습니다.
정말 큰 도움이 되었습니다! 너그러움과 인내심에 다시 한번 감사드립니다. 이 게시글이 같은 문제를 겪는 다른 분들에게 도움이 되길 바랍니다.