You need Docker running (set up in lesson 3.1.1), and about 2 GB of free disk space for a few minutes.
Check Docker, and what differs by machine
Run docker version. If it prints a Server section, Docker is running. If it says it can't connect, start Docker Desktop (macOS, Windows) or the Docker service (Linux) and try again.
Recent Docker versions show two size columns, DISK USAGE and CONTENT SIZE; older ones show one SIZE column, which is the disk usage. Numbers here are from Docker 29, and small differences on your machine are normal.
Pull the lab image
docker pull quay.io/computesphere/learn-hello-web:1.0.0Docker downloads only the layers it doesn't already have. If you've pulled this image before, it says
Image is up to dateinstead.You should seeone or more lines ending in Pull complete, then Digest: sha256:5491c5ca… and Status: Downloaded newer image for quay.io/computesphere/learn-hello-web:1.0.0
List its layers
docker history quay.io/computesphere/learn-hello-web:1.0.0Read it bottom to top: that's the order the layers were built. The
bazel buildrows are the distroless base; theCOPYis the app itself, one compiled file. Rows at0Bchange settings, not files.You should see17 rows. The top five are ENTRYPOINT, USER, EXPOSE and ENV at 0B, and a COPY of 5.07MB. Below them, twelve bazel build rows, the largest tzdata at 4.24MB.
See its size
docker image ls quay.io/computesphere/learn-hello-webContent size is what's downloaded, compressed. Disk usage is what it takes up once unpacked.
If you pulled it by digest in the last lesson, there's a second row ending in
@sha256:5491c5ca…, with the same ID: one image, two names.You should seeDISK USAGE 12.9MB and CONTENT SIZE 2.36MB (or one SIZE column of 12.9MB).
Pull a full base image for contrast
docker pull node:22This is the full Node image from the last lesson, with no app in it at all.
You should seeeight layers, each ending in Pull complete, then Status: Downloaded newer image for node:22. This takes a minute or two.
List its layers
docker history node:22The
apt-getlayers are compilers, libraries and tools, installed so that any package can build. Your app would sit on top of all of it.Check yourself
You should see12 rows. The largest is a RUN layer that installs packages with apt-get, about 590MB, then Node itself at about 210MB, and the Debian base at the bottom at about 150MB.
Compare the sizes
docker image ls node:22You should seeDISK USAGE about 1.6GB and CONTENT SIZE about 410MB: over a hundred times the lab image, before any app is added.
Clean up
docker rmi node:22Keep
learn-hello-web: you'll run it in the next module.You should seeUntagged: node:22, then a Deleted: sha256:… line.