- What is an OS kernel? What does it do?
- The kernel is the core part of an operating system. It talks to the hardware (CPU, memory, disks), runs programs, and manages resources like memory and devices.
- What is a shell program? What types of shells are commonly found?
- A shell is a program that lets you give commands to the computer. Common shells are command-line ones like bash, zsh, sh, and PowerShell, and there are also graphical shells (desktop environments) that show windows and icons.
- Why is Docker so closely tied to the Linux kernel?
- Docker uses special Linux features (namespaces and cgroups) that the Linux kernel provides for isolating processes and controlling their resource use. That’s why Docker was built for Linux first.
- How does Docker run on a Linux host?
- Docker Engine asks the Linux kernel to create isolated processes (containers) using namespaces and cgroups, and it provides each container with a filesystem from an image. Containers run like normal processes but stay isolated.
- How does Docker work on Windows and macOS?
- On macOS and older Windows setups, Docker runs a small Linux virtual machine because those OS kernels don’t have the Linux features Docker needs. On modern Windows, Docker can also use Windows’ own container support or run Linux containers through WSL2 (Windows Subsystem for Linux).
- What can we do to improve Docker’s performance on Windows?
- Use the WSL2 backend, prefer Docker volumes instead of bind-mounting many host files, give Docker more CPU/RAM if needed, reduce heavy antivirus interference, and keep file sharing between host and container minimal.
- Why does Docker generally perform better on macOS compared to Windows?
- Historically macOS’s Docker VM and file-sharing were simpler and caused less overhead than older Windows virtualization and file-sharing layers. (Windows has improved with WSL2, but Windows setups can still have extra overhead.)
- What are containers (isolated environments)?
- Containers are light, isolated environments that let an app run with its dependencies without affecting the rest of the system. They are smaller and faster than full virtual machines.
- What do containers contain?
- A container contains the application, its libraries, configuration files, and tools it needs to run (user-space). It usually does not include a full kernel.
- How is the OS inside a Docker container different from a full, traditional OS?
- A container’s “OS” is just user-space files (like libraries and programs). It shares the host’s kernel, so it doesn’t have its own separate kernel like a full OS or a VM does.
- What does the Docker Engine do?
- Docker Engine builds, runs, and manages containers. It pulls images, creates containers, and talks to the kernel to run isolated processes.
- What is Docker CLI?
- The Docker CLI is the command-line tool (docker) you type commands into (like docker run, docker build) to control Docker.
- What is Docker Desktop?
- Docker Desktop is the easy-to-install app for Windows and macOS that bundles Docker Engine, the CLI, a GUI, settings, and a lightweight VM if needed.
- What is a Docker image?
- A Docker image is a read-only template that contains the files and instructions needed to create a container. Think of it as the blueprint for a container.
- What is a Dockerfile?
- A Dockerfile is a simple text file with step-by-step instructions for building a Docker image (like which base to use, what files to copy, and what commands to run).
- What does Docker builder do?
- The Docker builder reads the Dockerfile, runs each instruction, makes the image in layers, and saves the final image you can run.
- What is Docker Hub?
- Docker Hub is an online place to store and share Docker images—like a public library of images you can download or upload.
- Difference between official/verified images and regular images?
- Official/verified images are provided or checked by Docker or trusted publishers and are usually more reliable and better maintained. Regular community images are made by anyone, so quality and security can vary.