@@ -747,20 +747,20 @@ <h1 id="docker-in-docker-service-and-docker-hub-ratelimit">Docker-in-Docker serv
747747< h2 id ="how-to-check-if-docker-pull-commands-are-cached "> How to check if < code > docker pull</ code > commands are cached</ h2 >
748748< p > Create a new GitLab project with < code > .gitlab-ci.yml</ code > and < code > scripts/check-docker-hub-ratelimit.sh</ code > files.</ p >
749749< p > The < code > scripts/check-docker-hub-ratelimit.sh</ code > script prints current Docker Hub ratelimit and also writes the result to a file if filename is given as first parameter. See < a href ="https://docs.docker.com/docker-hub/download-rate-limit/#how-can-i-check-my-current-rate "> Docker Hub usage and rate limits</ a > article in Docker documentation for more details.</ p >
750- < div class ="language-yaml highlight "> < span class ="filename "> scripts/check-docker-hub-ratelimit.sh</ span > < pre > < span > </ span > < code > < span id ="__span-0-1 "> < a id ="__codelineno-0-1 " name ="__codelineno-0-1 " href ="#__codelineno-0-1 "> </ a > < span class ="c1 "> #!/bin/sh -e</ span >
750+ < div class ="language-sh highlight "> < span class ="filename "> scripts/check-docker-hub-ratelimit.sh</ span > < pre > < span > </ span > < code > < span id ="__span-0-1 "> < a id ="__codelineno-0-1 " name ="__codelineno-0-1 " href ="#__codelineno-0-1 "> </ a > < span class ="ch "> #!/bin/sh -e</ span >
751751</ span > < span id ="__span-0-2 "> < a id ="__codelineno-0-2 " name ="__codelineno-0-2 " href ="#__codelineno-0-2 "> </ a >
752- </ span > < span id ="__span-0-3 "> < a id ="__codelineno-0-3 " name ="__codelineno-0-3 " href ="#__codelineno-0-3 "> </ a > < span class ="l l-Scalar l-Scalar-Plain " > fetch_ratelimit() {</ span >
753- </ span > < span id ="__span-0-4 "> < a id ="__codelineno-0-4 " name ="__codelineno-0-4 " href ="#__codelineno-0-4 "> </ a > < span class ="w "> </ span > < span class ="l l-Scalar l-Scalar-Plain " > curl -I -H "Authorization </ span > < span class ="p p-Indicator " > : </ span > < span class ="w " > </ span > < span class ="l l-Scalar l-Scalar-Plain " > Bearer $1 " https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2 >&1 | grep -i ratelimit </ span >
754- </ span > < span id ="__span-0-5 "> < a id ="__codelineno-0-5 " name ="__codelineno-0-5 " href ="#__codelineno-0-5 "> </ a > < span class ="err "> }</ span >
752+ </ span > < span id ="__span-0-3 "> < a id ="__codelineno-0-3 " name ="__codelineno-0-3 " href ="#__codelineno-0-3 "> </ a > fetch_ratelimit < span class ="o " > () </ span > < span class =" w " > </ span > < span class =" o " > {</ span >
753+ </ span > < span id ="__span-0-4 "> < a id ="__codelineno-0-4 " name ="__codelineno-0-4 " href ="#__codelineno-0-4 "> </ a > < span class ="w "> </ span > curl < span class ="w " > </ span > -I < span class =" w " > </ span > -H < span class ="w " > </ span > < span class ="s2 " > "Authorization: Bearer </ span > < span class ="nv " > $1 </ span > < span class =" s2 " > "</ span > < span class =" w " > </ span > https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest< span class =" w " > </ span > < span class =" m " > 2 </ span > >< span class =" p " > &</ span > < span class =" m " > 1 </ span > < span class =" w " > </ span > < span class =" p " > | </ span > < span class =" w " > </ span > grep< span class =" w " > </ span > -i < span class =" w " > </ span > ratelimit
754+ </ span > < span id ="__span-0-5 "> < a id ="__codelineno-0-5 " name ="__codelineno-0-5 " href ="#__codelineno-0-5 "> </ a > < span class ="o "> }</ span >
755755</ span > < span id ="__span-0-6 "> < a id ="__codelineno-0-6 " name ="__codelineno-0-6 " href ="#__codelineno-0-6 "> </ a >
756- </ span > < span id ="__span-0-7 "> < a id ="__codelineno-0-7 " name ="__codelineno-0-7 " href ="#__codelineno-0-7 "> </ a > < span class ="l l-Scalar l-Scalar-Plain "> target= $1</ span >
757- </ span > < span id ="__span-0-8 "> < a id ="__codelineno-0-8 " name ="__codelineno-0-8 " href ="#__codelineno-0-8 "> </ a > < span class ="l l-Scalar l-Scalar-Plain "> token=$( curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)</ span >
756+ </ span > < span id ="__span-0-7 "> < a id ="__codelineno-0-7 " name ="__codelineno-0-7 " href ="#__codelineno-0-7 "> </ a > < span class ="nv "> target</ span > < span class =" o " > = </ span > < span class =" nv " > $1</ span >
757+ </ span > < span id ="__span-0-8 "> < a id ="__codelineno-0-8 " name ="__codelineno-0-8 " href ="#__codelineno-0-8 "> </ a > < span class ="nv "> token</ span > < span class =" o " > = </ span > < span class =" k " > $( </ span > curl< span class =" w " > </ span > -s < span class =" w " > </ span > < span class =" s2 " > "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull"</ span > < span class =" w " > </ span > < span class =" p " > | </ span > < span class =" w " > </ span > jq < span class =" w " > </ span > -r < span class =" w " > </ span > .token< span class =" k " > )</ span >
758758</ span > < span id ="__span-0-9 "> < a id ="__codelineno-0-9 " name ="__codelineno-0-9 " href ="#__codelineno-0-9 "> </ a >
759- </ span > < span id ="__span-0-10 "> < a id ="__codelineno-0-10 " name ="__codelineno-0-10 " href ="#__codelineno-0-10 "> </ a > < span class ="l l-Scalar l-Scalar-Plain "> if [ -n "$target" ]; then</ span >
760- </ span > < span id ="__span-0-11 "> < a id ="__codelineno-0-11 " name ="__codelineno-0-11 " href ="#__codelineno-0-11 "> </ a > < span class ="w "> </ span > < span class ="l l-Scalar l-Scalar-Plain " > fetch_ratelimit $token | tee $target;</ span >
761- </ span > < span id ="__span-0-12 "> < a id ="__codelineno-0-12 " name ="__codelineno-0-12 " href ="#__codelineno-0-12 "> </ a > < span class ="l l-Scalar l-Scalar-Plain "> else</ span >
762- </ span > < span id ="__span-0-13 "> < a id ="__codelineno-0-13 " name ="__codelineno-0-13 " href ="#__codelineno-0-13 "> </ a > < span class ="w "> </ span > < span class ="l l-Scalar l-Scalar-Plain " > fetch_ratelimit $token;</ span >
763- </ span > < span id ="__span-0-14 "> < a id ="__codelineno-0-14 " name ="__codelineno-0-14 " href ="#__codelineno-0-14 "> </ a > < span class ="l l-Scalar l-Scalar-Plain "> fi</ span >
759+ </ span > < span id ="__span-0-10 "> < a id ="__codelineno-0-10 " name ="__codelineno-0-10 " href ="#__codelineno-0-10 "> </ a > < span class ="k "> if</ span > < span class =" w " > </ span > < span class =" o " > [ </ span > < span class =" w " > </ span > -n < span class =" w " > </ span > < span class =" s2 " > "</ span > < span class =" nv " > $target</ span > < span class =" s2 " > "</ span > < span class =" w " > </ span > < span class =" o " > ] </ span > < span class =" p " > ; </ span > < span class =" w " > </ span > < span class =" k " > then</ span >
760+ </ span > < span id ="__span-0-11 "> < a id ="__codelineno-0-11 " name ="__codelineno-0-11 " href ="#__codelineno-0-11 "> </ a > < span class ="w "> </ span > fetch_ratelimit < span class ="w " > </ span > < span class =" nv " > $token</ span > < span class =" w " > </ span > < span class =" p " > | </ span > < span class =" w " > </ span > tee< span class =" w " > </ span > < span class =" nv " > $target</ span > < span class =" p " > ;</ span >
761+ </ span > < span id ="__span-0-12 "> < a id ="__codelineno-0-12 " name ="__codelineno-0-12 " href ="#__codelineno-0-12 "> </ a > < span class ="k "> else</ span >
762+ </ span > < span id ="__span-0-13 "> < a id ="__codelineno-0-13 " name ="__codelineno-0-13 " href ="#__codelineno-0-13 "> </ a > < span class ="w "> </ span > fetch_ratelimit < span class ="w " > </ span > < span class =" nv " > $token</ span > < span class =" p " > ;</ span >
763+ </ span > < span id ="__span-0-14 "> < a id ="__codelineno-0-14 " name ="__codelineno-0-14 " href ="#__codelineno-0-14 "> </ a > < span class ="k "> fi</ span >
764764</ span > </ code > </ pre > </ div >
765765< p > The pipeline defined by < code > .gitlab-ci.yml</ code > tries to pull the same Docker image twice and checks if the rate limit headers are different after first and second pull.</ p >
766766< div class ="language-yaml highlight "> < span class ="filename "> .gitlab-ci.yml</ span > < pre > < span > </ span > < code > < span id ="__span-1-1 "> < a id ="__codelineno-1-1 " name ="__codelineno-1-1 " href ="#__codelineno-1-1 "> </ a > < span class ="nt "> default</ span > < span class ="p "> :</ span >
@@ -836,7 +836,7 @@ <h2 id="how-to-setup-pull-through-cache-to-kubernetes-runner">How to setup pull-
836836 < span class ="md-icon " title ="Last update ">
837837 < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z "/> </ svg >
838838 </ span >
839- < span class ="git-revision-date-localized-plugin git-revision-date-localized-plugin-date "> October 15 , 2024</ span >
839+ < span class ="git-revision-date-localized-plugin git-revision-date-localized-plugin-date "> October 22 , 2024</ span >
840840 </ span >
841841
842842
0 commit comments