Managing local docker images

Introduction to Docker

Tim Sangster

Software Engineer @ DataCamp

Docker Hub is the world's largest library and community for container images. Browse over 100,000 container images from software vendors, open-source projects, and the community. Some examples of the most downloaded images: Nginx, mongoDB, alpine linux, nodejs, redis, busybosx and many more.

Introduction to Docker

Pulling an image

docker pull <image-name>
docker pull postgres
docker pull ubuntu
repl@host:/# docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
7050e35b49f5: Pull complete 
Digest: sha256:e18f0a777aefabe047a671ab3ec3eed05414477c951ab1a6f352a06974245fe7
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
Introduction to Docker

Image versions

Docker Images have many versions or tags, the example here shows 6 versions of the ubuntu images. For example 18.04 which also has the tag bionic.

docker pull <image-name>:<image-version>
docker pull ubuntu:22.04
docker pull ubuntu:jammy
Introduction to Docker

Listing images

docker images
repl@host:/# docker images
REPOSITORY    TAG               IMAGE ID       CREATED         SIZE
hello-world   latest            46331d942d63   7 months ago    9.14kB
ubuntu        bionic-20210723   7c0c6ae0b575   15 months ago   56.6MB
postgres      12.7              f076c2fa35f5   15 months ago   300MB
postgres      10.3              cbb7481ff9d5   4 years ago     232MB
...
Introduction to Docker

Removing images

docker image rm <image-name>
repl@host:/# docker image rm hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:e18f0a777aefabe047a671ab3ec3eed05414477c951ab1a6f35..
Deleted: sha256:46331d942d6350436f64e614d75725f6de3bb5c63e266e236e04389820a234c4
Deleted: sha256:efb53921da3394806160641b72a2cbd34ca1a9a8345ac670a85a04ad3d0e3507
repl@host:/# docker image rm hello-world  
Error response from daemon: conflict: unable to remove repository reference 
"hello-world" (must force) - container 96a7b7b0c535 is using its 
referenced image 46331d942d63
Introduction to Docker

Cleaning up containers

docker container prune
repl@host:/# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
4a7f7eebae0f63178aff7eb0aa39cd3f0627a203ab2df258c1a00b456cf20063
f98f9c2aa1eaf727e4ec9c0283bc7d4aa4762fbdba7f26191f26c97f64090360

Total reclaimed space: 212 B
Introduction to Docker

Cleaning up images

docker image prune -a
repl@host:/# docker image prune -a
WARNING! This will remove all images without at least one container associated t..
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: alpine:latest
untagged: alpine@sha256:3dcdb92d7432d56604d4545cbd324b14e647b313626d99b889d0626d..
deleted: sha256:4e38e38c8ce0b8d9041a9c4fefe786631d1416225e13b0bfe8cfa2321aec4bba
deleted: sha256:4fe15f8d0ae69e169824f25f1d4da3015a48feeeeebb265cd2e328e15c6a869f

Total reclaimed space: 16.43 MB
Introduction to Docker

Dangling images

docker images
repl@host:/# docker images
REPOSITORY    TAG               IMAGE ID       CREATED         SIZE
testsql       latest            6c49f0cce145   7 months ago    3.73GB
<none>        <none>            a22b8450b88f   7 months ago    3.73GB
<none>        <none>            10dd2d03f59c   7 months ago    3.73GB
<none>        <none>            878bae40320b   7 months ago    3.73GB
<none>        <none>            4ea70583ba54   7 months ago    3.75GB
<none>        <none>            3c64576a3a7d   7 months ago    3.75GB
Introduction to Docker

Summary of new commands

Usage Command
Pull an image docker pull <image-name>
Pull a specific version of an image docker pull <image-name>:<image-version>
List all local images docker images
Remove an image docker image rm <image-name>
Remove all stopped containers docker container prune
Remove all images docker image prune -a
Introduction to Docker

Let's practice!

Introduction to Docker

Preparing Video For Download...