1.curl
[root@asimov ~]# curl https://registry.hub.docker.com/v1/repositories/mariadb/tags\ | tr -d '[\[\]" ]' | tr '}' '\n'\ | awk -F: -v image='mariadb' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8587 0 8587 0 0 1150 0 --:--:-- 0:00:07 --:--:-- 1732mariadb:latest
mariadb:10
mariadb:10-focal
mariadb:10-jessie
mariadb:10.0
mariadb:10.0-jessie
mariadb:10.0-xenial
mariadb:10.0.15
mariadb:10.0.16
mariadb:10.0.17
mariadb:10.0.19
mariadb:10.0.20
mariadb:10.0.21
mariadb:10.0.22
mariadb:10.0.23
mariadb:10.0.24
mariadb:10.0.25
mariadb:10.0.26
mariadb:10.0.27
mariadb:10.0.28
mariadb:10.0.29
mariadb:10.0.30
mariadb:10.0.31
mariadb:10.0.32
mariadb:10.0.33
2.py
import requests
import json
def Image_get(image: str) -> list or Exception:
try:
url = 'https://registry.hub.docker.com/v1/repositories/%s/tags'
rep = requests.get(url % image)
data = json.loads(rep.text)
if data:
return [i.get('name') for i in data]
except Exception as e:
return e
if __name__ == '__main__':
print(Image_get("mariadb"))
['latest', '10', '10-bionic', '10-focal', '10-jessie', '10.0', '10.0-jessie', '10.0-xenial', '10.0.15', '10.0.16'...]