Home / Get started / Introduction / What's nextWhat's nextPage options Copy page as Markdown for LLMs View page as plain text Ask questions with Docs AIThe following sections provide step-by-step guides to help you understand core Docker concepts, building images, and running containers.The basicsGet started learning the core concepts of containers, images, registries, and Docker Compose.What is a container?Learn how to run your first container.What is an image?Learn the basics of image layers.What is a registry?Learn about container registries, explore their interoperability, and interact with registries.What is Docker Compose?Gain a better understanding of Docker Compose.Building imagesCraft optimized container images with Dockerfiles, build cache, and multi-stage builds.Understanding image layersLearn about the layers of container images.Writing a DockerfileLearn how to create an image using a Dockerfile.Build, tag and publish an imageLearn how to build, tag, and publish an image to Docker Hub or any other registry.Using the build cacheLearn about the build cache, what changes invalidate the cache, and how to effectively use the build cache.Multi-stage buildsGet a better understanding of multi-stage builds and their benefits.Running containersMaster essential techniques for exposing ports, overriding defaults, persisting data, sharing files, and managing multi-container applications.Publishing portsUnderstand the significance of publishing and exposing ports in Docker.Overriding container defaultsLearn how to override the container defaults using the docker run command.Persisting container dataLearn the significance of data persistence in Docker.Sharing local files with containersExplore the various storage options available in Docker and their common usage.Multi-container applicationsLearn the significance of multi-container applications and how they're different from single-container applications.