Vì mục đích nghiên cứu, tôi đang cố gắng thu thập thông tin đăng ký Docker công khai ( https://registry.hub.docker.com/ ) và tìm hiểu 1) hình ảnh trung bình có bao nhiêu lớp và 2) kích thước của các lớp này để có được ý tưởng về việc phân phối.
Tuy nhiên, tôi đã nghiên cứu API và thư viện công cộng cũng như các chi tiết trên github nhưng tôi không thể tìm thấy bất kỳ phương pháp nào để:
- truy xuất tất cả các kho lưu trữ / hình ảnh công khai (ngay cả khi hàng nghìn kho lưu trữ đó, tôi vẫn cần một danh sách bắt đầu để lặp lại)
- tìm tất cả các lớp của một hình ảnh
- tìm kích thước cho một lớp (vì vậy không phải là một hình ảnh mà cho từng lớp).
Bất cứ ai có thể giúp tôi tìm cách lấy lại thông tin này?
Cảm ơn bạn!
CHỈNH SỬA: có ai có thể xác minh rằng tìm kiếm '*' trong sổ đăng ký Docker đang trả về tất cả các kho lưu trữ và không chỉ bất cứ thứ gì đề cập đến '*' ở bất cứ đâu không? https://registry.hub.docker.com/search?q=*
https://registry.hub.docker.com/search?q=*
hiển thị cho tôi 87031 kho lưu trữ,
docker history myimage
và bạn sẽ thấy kích thước của mỗi lớp. Tổng quát hơn, vào một hình ảnh, bạn có thể làmdocker history myimage | awk 'NR>1 {print $1}' | xargs docker inspect --format '{{ ((index .ContainerConfig.Cmd ) 0) }}'
để xem những gì các lệnh đã được ban hành để tạo ra các hình ảnh