Many people know, what docker build
and docker push
are doing in general on a high level, but what do they exactly do on a low level?
let's say we have a Dockerfile like this
FROM alpine:latest
RUN touch ~/tmp
RUN touch ~/tmp2
this will create the delta filesystem (only changes) for each layer in /var/lib/docker/overlay2
.
- layer contains a whole filesystem
- layer contains the file
~/tmp
- layer contains the file
~/tmp2
Open questions
What is the actual link between the layers? Is there a json, containing all the image info, including a sorted list of layers?
What kind of deliverable is generated to send it to the docker registry while performing
docker push
is it a tar.gz, similar todocker save