Skopeo #
I have stumbled upon this tool: https://github.com/containers/skopeo - command line tools for manipulation with Docker images and Docker image registries.
It can work with OCI images as well as the original Docker v2 images.
Installation #
brew install skopeoUsage #
➜ deploy-2018-10-24 skopeo --override-os=linux inspect docker://docker.io/fedora
{
"Name": "docker.io/library/fedora",
"Digest": "sha256:b41cd083421dd7aa46d619e958b75a026a5d5733f08f14ba6d53943d6106ea6d",
"RepoTags": [
"20",
"21",
"22",
"23",
"24",
"25",
"26-modular",
"26",
"27",
"28",
"29",
"branched",
"heisenbug",
"latest",
"modular",
"rawhide"
],
"Created": "2018-09-07T19:20:02.809176076Z",
"DockerVersion": "17.06.2-ce",
"Labels": null,
"Architecture": "amd64",
"Os": "linux",
"Layers": [
"sha256:565884f490d9ec697e519c57d55d09e268542ef2c1340fd63262751fa308f047"
]
}It works with protected repos as well - as long as creds are provided
skopeo --override-os=linux inspect --creds=''${CREDS}'' docker://docker.io/thinkwrap/dropship-ui:uat | jq ".Digest"
"sha256:43f95207dafa7dbc034e5126a9f6b6952e47e162206e889c1071f6e06308f4f4"The reason for override-os is running the client on MacOS. On Linux, this can be removed.
The double single quotes around ${CREDS} is to make sure that special characters in password such as ;!| will not confuse shell.
Getting information about all Tags #
skopeo --override-os=linux inspect --creds=''${CREDS}'' docker://docker.io/thinkwrap/dropship-ui:uat | jq ".RepoTags[]"
"0.3.0"
"1.3.0-uat"
"1.3.1-uat"
"1.3.2-uat"
"1.4.0-uat"
"1.4.1-uat"
"1.4.2-uat"
"1.4.3-uat"
"1.4.4-uat"
"1.4.5-uat"
"1.4.6-uat"
"1.5.0-uat"
"1.5.1-uat"
"1.5.2-uat"
"1.5.3-uat"
"1.5.4-uat"
"1.5.5-uat"
"1.5.6-uat"
"development"
"uat"Speaking of Docker container tools, see also: https://github.com/GoogleContainerTools/container-diff