Any API or Web UI project to manage a Docker private registry?

前端 未结 6 873
小蘑菇
小蘑菇 2021-01-30 17:47

I can\'t find how to manage images in a private registry. I can push or pull an image because i know the id but how to get the list of pushed images ?

Take for example

6条回答
  •  抹茶落季
    2021-01-30 18:00

    As far as I see, the Docker registry has a REST API, very similar to Docker itself. You can find the documentation at http://docs.docker.io/reference/api/registry_api/. But on the first glance I don't see a method to just list all images.

    There is also an REST API for the official index (infos at http://docs.docker.io/reference/api/docker-io_api/).

    EDIT

    I just tested the Docker registry API and it is not so self-explanatory. You can query all images of a certain repository. In my case, my repository is called "thomas/busybox". I can query all images in there by calling:

    https://my-private-registry.com/v1/repositories/thomas/busybox/images
    
    Result:
    
    [
      {
        "id": "2d8e5b282c81244037eb15b2068e1c46319c1a42b80493acb128da24b2090739"
      },
      {
        "id": "6c991eb934609424f761d3d0a7c79f4f72b76db286aa02e617659ac116aa7758"
      },
      {
        "id": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a"
      },
      {
        "id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158"
      }
    ]
    

    Now I know that I have four images in my repository and I can query every image. The query for the first image would be:

    https://my-private-registry.com/v1/images/2d8e5b282c81244037eb15b2068e1c46319c1a42b80493acb128da24b2090739/json
    
    Result:
    
    {
      "id": "2d8e5b282c81244037eb15b2068e1c46319c1a42b80493acb128da24b2090739",
      "parent": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a",
      "created": "2014-04-24T15:59:59.47081913Z",
      "container": "d15320d6935ca35bc4198e373f29e730f4c53cce32b3809c2fecec22eb30018b",
      "container_config": {
        "Hostname": "4964db5b599b",
        ...
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
          "HOME=\/",
          "PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin"
        ],
        "Cmd": [
          "\/bin\/sh",
          "-c",
          "#(nop) CMD [\/bin\/sh -c \/bin\/sh]"
        ],
        "Image": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a",
        ...
        "OnBuild": [
    
        ]
      },
      "docker_version": "0.10.0",
      "author": "J\u00c3\u00a9r\u00c3\u00b4me Petazzoni ",
      "config": {
        "Hostname": "4964db5b599b",
        "Domainname": "",
        "User": "",
        "Memory": 0,
        ...
        "Env": [
          "HOME=\/",
          "PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin"
        ],
        "Cmd": [
          "\/bin\/sh",
          "-c",
          "\/bin\/sh"
        ],
        "Image": "9f4e93171ec525221fa9013d0e21f8690cef68590664eb5249e0b324c5faf31a",
        ...
        "OnBuild": [
    
        ]
      },
      "architecture": "amd64",
      "os": "linux",
      "Size": 0
    }
    

    You can also search for an image, but I do not get any results:

    https://my-private-registry.com/v1/search?q=thomas
    
    Result:
    
    {"num_results": 0, "query": "thomas", "results": []}
    

提交回复
热议问题