Zu Forschungszwecken versuche ich, die öffentliche Docker-Registrierung zu crawlen ( https://registry.hub.docker.com/ ) zu crawlen und herauszufinden, 1) wie viele Ebenen ein durchschnittliches Bild hat und 2) wie groß diese Ebenen sind, um eine zu erhalten Idee der Verteilung.
Ich habe jedoch die API und die öffentlichen Bibliotheken sowie die Details zum Github studiert, kann aber keine Methode finden, um:
- Rufen Sie alle öffentlichen Repositorys / Bilder ab (selbst wenn dies Tausende sind, benötige ich noch eine Startliste, um sie zu durchlaufen).
- Finde alle Ebenen eines Bildes
- Finden Sie die Größe für eine Ebene (also nicht für ein Bild, sondern für die einzelne Ebene).
Kann mir jemand helfen, einen Weg zu finden, um diese Informationen abzurufen?
Danke dir!
BEARBEITEN: Kann jemand überprüfen, ob bei der Suche nach '*' in der Docker-Registrierung alle Repositorys zurückgegeben werden und nicht nur irgendetwas, das irgendwo '*' erwähnt? https://registry.hub.docker.com/search?q=*
https://registry.hub.docker.com/search?q=*
zeigt für mich 87031 Repositories,
docker history myimage
und du wirst die Größe jeder Ebene sehen. Allgemeiner können Sie auf einem Bilddocker history myimage | awk 'NR>1 {print $1}' | xargs docker inspect --format '{{ ((index .ContainerConfig.Cmd ) 0) }}'
sehen, welche Befehle zum Erstellen des Bildes ausgegeben wurden