I would like to always pull a specific version, rather than just the latest.
A random example: https://registry.hub.docker.com/u/aespinosa/jenkins/builds_history/9511/
I am doing this because I only want to deploy versions that I have audited. Is this currently possible? Or am I forced to fork them and make my own?
The easiest way to list Docker images is to use the “docker images” with no arguments. When using this command, you will be presented with the complete list of Docker images on your system. Alternatively, you can use the “docker image” command with the “ls” argument.
docker pull is used to pull from docker hub. If you use docker build without a docker file it throws an error. When you specify --pull or :latest docker will try to download the newest version (if any) Basically, if you add --pull, it will try to pull the newest version each time it is run.
You can pull a specific image by digest by using the following syntax:
docker pull ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
If you need to find the hash, it is output when pushing/pulling the image. Some automated builds output it at the end. I tried looking for the hash with docker inspect
but it didn't appear to be there, so you'll have to delete the image and pull it again to view the hash.
The way I do it is to tag each build
docker build -t $NAMESPACE/$APP_NAME:$BUILD_SHA1 . docker tag $NAMESPACE/$APP_NAME:$SHA1 $DOCKER_REGISTRY/$NAMESPACE/$APP_NAME:$SHA1 docker push $DOCKER_REGISTRY/$NAMESPACE/$APP_NAME:$SHA1
and then you pull the specific tag
docker pull $DOCKER_REGISTRY/$NAMESPACE/$APP_NAME:$SHA1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With