3 votes

Comment puis-je savoir si mon registre Docker local est en place ?

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..." ?

2voto

Sokol Points 41

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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X