Containers and Dockers Flashcards
Basics of containers and Dockers
What is a Container?
A standardized, executable software unit that packages application code with all necessary dependencies, allowing consistent execution across different computing environments.
What is a Container Engine?
Software responsible for creating, running, managing, and destroying containers.
Example: Docker Engine.
What are Container Orchestrators?
Tools that automate deployment, scaling, and management of containerized applications across clusters of hosts.
Examples: Kubernetes, Docker Swarm.
What is Container as a Service (CaaS)?
A cloud service model that enables users to deploy, manage, and run containers using a provider’s infrastructure.
Examples: Amazon ECS, Azure Container Instances.
What are OS Containers?
Containers that virtualize an entire operating system environment, allowing multiple isolated user-spaces on a single OS kernel.
Example: LXC.
What are Application Containers?
Containers designed to encapsulate and run individual applications, along with their specific dependencies and libraries.
Example: Docker Containers.
What is Docker?
A platform that packages, distributes, and manages applications using containerization technology.
What is Docker Engine?
The runtime software powering Docker, responsible for creating and managing containers.
What is Docker Daemon?
A background service running on the Docker host, managing container operations such as creation, running, and removal.
What is Docker Engine REST API?
An HTTP-based interface through which Docker clients communicate with Docker Daemon to manage containers remotely.
What is Docker CLI (Command Line Interface)?
A command-line tool used by users to interact with Docker Daemon via the Docker REST API.
What is the Docker Systems Working Mechanism?
Docker operates through a client-server architecture where the Docker client sends commands via REST API to Docker Daemon on the Docker Host, managing containers, images, and registries.
What is Docker Client?
The primary interface used by users to interact with Docker Engine, issue commands, and control containers.
What is Docker Host?
A machine (physical or virtual) that runs the Docker Daemon, hosting containers.
What are Images (Docker Images)?
Read-only templates used to create Docker containers, containing application code, runtime libraries, and dependencies.
What are Docker Registries?
Repositories that store Docker images, allowing users to pull or push images remotely.
Example: Docker Hub.
What is a Microservices Application?
A software architecture composed of multiple small, independently deployable services, each running in its own container.
What is a Monolithic Application?
A single-tiered software architecture where all components (user interface, server-side logic, and database interactions) are combined into one unified system.
What is the Container Networking Model (CNM)?
A Docker-defined specification providing standardized container networking capabilities, enabling containers to communicate efficiently.
What is a Sandbox (CNM)?
An isolated networking environment created for each container, defining its network namespace and interfaces.
What is an Endpoint (CNM)?
A virtual network interface attached to a container’s sandbox, allowing network connectivity.
What are CNM Driver Interfaces?
Standard interfaces through which Docker interacts with networking plugins to manage container networking resources.
What are the types container Network Drivers?
Drivers that manage container networking.
- Native: Network drivers integrated within Docker Engine (e.g., bridge, overlay).
- Remote: External third-party network plugins enabling extended networking capabilities.
What are IP Address Management (IPAM) Drivers?
Drivers managing allocation and assignment of IP addresses to Docker containers.