IMLC.ME

How to pull Docker image by digest

TL;DR;

docker pull rustdesk/rustdesk-server:[email protected]:0dd2aa4db8fdb896056f64e457835a98f5e8bd55e88d37e9f769f2

Full Story

It's SOOOOO weird that pulling "latest" image didn't pull the latest image.

I pull and run rustdesk/rustdesk-server:latest today. However, it crashed immediately and complained about no license. And I know rustdesk provide rustdesk-server for free for personal use.

Did I download the wrong image? Did rustdesk forget to tag it's latest image with "latest" tag? I did a "docker image ls":

docker image ls |grep rust
rustdesk/rustdesk-server                                            latest              b732f09f2d6e        17 months ago       85.3MB

And saw the "17 months ago". What?!

I removed the image and re-pull from Docker Hub, but I got the same, out-of-date image.
I have to pull by digest which will download the exact image that I want.

docker pull rustdesk/rustdesk-server:[email protected]:0dd2aa4db8fdb896056f64e457835a98f5e8bd55e88d37e9f769f2
docker image ls |grep rust
rustdesk/rustdesk-server                                            <none>              fdd2924f0c5f        2 months ago        95.3MB
rustdesk/rustdesk-server                                            latest              b732f09f2d6e        17 months ago       85.3MB

And as you can see, I need to manually fix the tag issue:

docker image rm rustdesk/rustdesk-server:latest
docker tag fdd2924f0c5f rustdesk/rustdesk-server:latest