docker 가져오기 속도 제한에 도달했습니다, 및 가져오기 횟수 제한에 도달했습니다라고 나올떄
Docker hub 는 무료사용자에게 기본적으로 docker login 없이 요청 익명 User 당 6시간에 100회 제한을 두고 있더라구요
그래서 계정을 등록하면 200회까지 늘어난다고 검색결과가 알려줬습니다. 그래서 해결방법은
우선 쉘에서
TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
라고 입력하셔서 토큰을 받아 옵니다.
그런다음
curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1
를 입력하면
이렇게 21600 초 동안 100 회 제한이 있는걸 보실수 있습니다.
그렇다면 200회로 늘리는 방법은
우선 도커에 계정을 등록 합니다.
그런다음
어카운트 세팅으로 들어가셔서
보안 으로 들어가시면
새 엑세스 토큰 이라고 나오는데 저기로 들어가셔서 토큰을 만들어주세요.
이렇게 하신다음에
여기서 시키는데로 쉘에서 입력을 해줍니다 타닥타닥타닥
그러면 이렇게 토큰이 하나 만들어지고
쉘에서
curl --head -H "Authorization: "등록하신 유저ID" $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1
입력하시면
이렇게 나옵니다. 그럼 끝!!
제가 무지해서 rate limit 이 적용되면 뭐가 제한되는 건지 모르겠네요 ? 이미지 pull 이 실패하게 되나요 ? @.@
저도 긴가 민가 할 때는 자주 하는 방법이지요 ㅎㅎ
조금 더 간단하게 커맨드 라인에 docker login 으로 로그인 하시면 됩니다.
아이디는 사용하시는 아이디 입력하시면 되고,
비밀번호는 비밀번호를 입력하셔도 되지만 평문으로 저장하기 때문에 본문에 언급하신 대로 토큰을 입력하시는걸 추천합니다.
토큰은 hub.docker.com 에서 GUI로 발급받으실 수 있습니다.
다행입니다 :)
잘 배웠습니다!
cmt alert