Give the name and... tag

January 06, 2022

When a child birth one of the first thing is give a name! You should do the same with yours images! Why I writing about this ? If you are not becarefule with images names and tags you can do the mess with our local docker images storage. Sometimes you have to prepare different images for some features/branches/deploys.

Let’s prepare our dockerized website.

Website:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Title</title>

</head>
<body>
<h1>Hello World</h1>
</body>

Image to run container responsible for displaing it:

FROM nginx

COPY index.html /usr/share/nginx/html/index.html

OK, It’s time to building. Build first version by command docker build . Then we want to something change in the our website and build again by build command. Which images we have ?

Console output:

root@local:~/project$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
<none>       <none>    c8af32463c20   5 seconds ago        141MB
<none>       <none>    f1663715c693   About a minute ago   141MB
nginx        latest    605c77e624dd   8 days ago           141MB

As you see there are a <none> words. It’s not helpful when you want to pick up specific image. Why we have images without REPOSITORY and TAG ? It’s caused by build image without -t option These images were built by command docker build . How we can fix it or how we can build images ? Firstival we can tag image after build by command docker tag.

For example docker tag f1663715c693 website:1.0 and docker tag f1663715c693 website:1.2.

Console output

root@local:~/project$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
<none>       <none>    c8af32463c20   16 minutes ago   141MB
website      1.2       c8af32463c20   21 minutes ago   141MB
website      1.0       f1663715c693   22 minutes ago   141MB
nginx        latest    605c77e624dd   8 days ago       141MB

But this needs from us additional action. Remember, we can do it while building an new image.

docker build -t website:1.3 .

Very interesting option is adding multiple specific tags at once. The case with latest is very helpful to tag a version of image and set it at latest.

docker build -t website:1.3 -t website:latest .

Full documentation about tagging we can find on https://docs.docker.com/engine/reference/commandline/tag.


Profile picture

Written by Marcin Gładkowski

This is the place where you can find some my toughts, ideas, summaries etc.

© 2022, Marcin Gładkowski