Dockerfile and Instructions
Table of contents:
What is Dockerfile
In short:
- a Dockerfile is a text document that contains all instructions users provide to assemble an image
- each instruction will create a new image layer to the image
- instructiuons specify what to do when building the image
Example
FROM debian:jessie
RUN apt-get update
RUN apt-get install -y git
RUN apt-get intall -y vim
Building docker image
To build docker image run:
docker build -t debian . --no-cache=true
Dockerfile build image output
Sending build context to Docker daemon 3.072kB
Step 1/4 : FROM debian:jessie
---> 3aaeab7a4777
Step 2/4 : RUN apt-get update
---> Using cache
---> 02fc61b53c55
Step 3/4 : RUN apt-get install -y git
---> Using cache
---> bc4def3544ba
Step 4/4 : RUN apt-get install -y vim
---> Using cache
---> 352d7320c16b
Successfully built 352d7320c16b
Successfully tagged debian:latest
Of course there is build output from cache. Docker image:
REPOSITORY TAG IMAGE ID CREATED SIZE
debian latest 352d7320c16b 3 minutes ago 254MB
debian jessie 3aaeab7a4777 13 months ago 129MB
Context
What’s the context path:
- Docker build command takes the path on the build context as an argument
- when build starts, docker client would pack all the files in the build context into a tarball then transfer the tarball file to the daemon
- by default, dokcer would search for the Dockerfile in the build context path
Reference:
My site is free of ads and trackers. Was this post helpful to you? Why not
Disqus is great for comments/feedback but I had no idea it came with these gaudy ads.