Testing & delivery
Testing, Git, containers, CI/CD, and cloud fundamentals.
Image vs container vs Dockerfile?
A Docker image packages a filesystem and configuration for starting an application. A container is an isolated process environment created from an image with a writable layer and runtime settings. A Dockerfile describes how the image is built, making the package reproducible rather than depending on manual server setup.
What are layers and multi-stage builds?
Docker layers are reusable filesystem changes produced during image creation. Build caching can reuse unchanged earlier work, while multi-stage builds separate compilation tools from the final runtime package. This improves build speed and can reduce production image size and unnecessary software.
Volumes vs networks vs Compose?
Volumes provide storage independent of a container's disposable writable layer. Container networks define communication paths and service-name resolution, while Compose declares a set of cooperating containers and their configuration. Together they make a local multi-service setup repeatable without placing every service in one container.
How do I make a production container safer and smaller?
A production image should contain the application and required runtime dependencies with no unnecessary development tools or embedded credentials. Runtime restrictions then reduce what a compromised process can access or change. Image size helps distribution, but maintenance and permissions are equally important.
Difficulty is an editorial estimate. Completion means you chose to mark a question as understood.