Skip to content

Instantly share code, notes, and snippets.

@squaremo
Created October 5, 2017 22:13
Show Gist options
  • Save squaremo/b3b832d6a3b9e0cc07fb35b854a66d47 to your computer and use it in GitHub Desktop.
Save squaremo/b3b832d6a3b9e0cc07fb35b854a66d47 to your computer and use it in GitHub Desktop.
docker reg experimentation
package main
import (
"io/ioutil"
"os"
"github.com/heroku/docker-registry-client/registry"
)
func bail(err error) {
println(err.Error())
os.Exit(1)
}
func main() {
hub, err := registry.New("https://registry-1.docker.io/", "", "")
hub.Logf = registry.Quiet
if err != nil {
bail(err)
}
tags, err := hub.Tags("weaveworks/scope")
if err != nil {
bail(err)
}
tag := tags[500]
manifest, err := hub.ManifestV2("weaveworks/scope", tag)
if err != nil {
bail(err)
}
confDesc := manifest.Config()
reader, err := hub.DownloadLayer("weaveworks/scope", confDesc.Digest)
if err != nil {
bail(err)
}
if reader != nil {
defer reader.Close()
}
bytes, err := ioutil.ReadAll(reader)
if err != nil {
bail(err)
}
println(string(bytes))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment