# Container Images

> Markdown source of <https://docs.calebsargeant.com/computing/docker/container-images/>.

## What's an Image

- App binaries and dependencies
- Metadata about the image and how to run the image
- Official definition: "An image is an ordered collection of root filesystem changes and the corresponding execution parameters for use within a container runtime"
- Not a complete OS. No kernal, kernal modules (e.g. drivers)
- Small as one file (your app binary) like golang static binary
- Big as Ubuntu distro with apt, and Apache, PHP, and more installed

## Image and Their Layers

- Images are made up of file system changes and metadata
- Each layer is uniquely identified and only stored once on a host
- THis saves storage space on host and transfer time on push/pull
- A container is just a single read/write layer on top of image
- `docker image history` and `inspect` commands can teach us
