Sunday, November 27, 2022

Docker steps involved in Building Image

If the Dockerfile content is like this 

#from base image

FROM ubuntu:14.04

#author name

MAINTAINER RAGHU

#commands to run in the container

RUN echo "hello Raghu"

RUN sleep 10

RUN echo "TASK COMPLETED"



Command used to build the image: docker build -t raghavendar/hands-on:2.0 .


Sending build context to Docker daemon 20.04 MB

Step 1 : FROM ubuntu:14.04

---> b1719e1db756

Step 2 : MAINTAINER RAGHU

---> Running in 532ed79e6d55

---> ea6184bb8ef5

Removing intermediate container 532ed79e6d55

Step 3 : RUN echo "hello Raghu"

---> Running in da327c9b871a

hello Raghu

---> f02ff92252e2

Removing intermediate container da327c9b871a

Step 4 : RUN sleep 10

---> Running in aa58dea59595

---> fe9e9648e969

Removing intermediate container aa58dea59595

Step 5 : RUN echo "TASK COMPLETED"

---> Running in 612adda45c52

TASK COMPLETED

---> 86c73954ea96

Removing intermediate container 612adda45c52

Successfully built 86c73954ea96



Some explanation of the build process is as below 

Yes, Docker images are layered. When you build a new image, Docker does this for each instruction (RUN, COPY etc.) in your Dockerfile:


create a temporary container from the previous image layer (or the base FROM image for the first command;

run the Dockerfile instruction in the temporary "intermediate" container;

save the temporary container as a new image layer.


The final image layer is tagged with whatever you name the image - this will be clear if you run docker history raghavendar/hands-on:2.0, you'll see each layer and an abbreviation of the instruction that created it.


Your specific queries:

1) 532 is a temporary container created from image ID b17, which is your FROM image, ubuntu:14.04.

2) ea6 is the image layer created as the output of the instruction, i.e. from saving intermediate container 532.

3) yes. Docker calls this the Union File System and it's the main reason why images are so efficient.

references:

https://stackoverflow.com/questions/39705085/how-are-intermediate-containers-formed

No comments:

Post a Comment