J'ai démarré un registre Docker local avec docker run -d -p 5000:5000 --name registry registry:2
et ça marche bien pour pousser et tirer. Dans un script qui va tirer de ce registre local, je veux d'abord tester si le registre est en place. Existe-t-il un bon moyen de le faire, sans essayer de tirer et d'attraper l'erreur "Error while pulling image..." ?
Réponse
Trop de publicités?Vous ne mentionnez pas le système d'exploitation que vous utilisez mais vous pourriez faire une requête à /
pour une réponse de 200 ou /v2/
en utilisant le 401
comme OK.
donc pour Bash sur Linux
status_code=$(curl -I -k -s https://<address>:5000/ | head -n 1 | cut -d ' ' -f 2)
if [[ "$status_code" == "200" ]]; then
# pull
fi
Vérifiez le documentation (Important/Required HTTP-Headers) pour référence.