Docker and more Flashcards
What is Docker, and how does it reduce the size of development?
Docker is a container management service that reduces the size of development by encapsulating applications and their dependencies in containers, providing a consistent and isolated environment.
What are the main components of Docker’s architecture?
Docker architecture consists of a client, a server, a REST API, and a container runtime. The client communicates with the server, which manages containers using the container runtime and exposes the REST API.
How does Docker enable developers to “develop, ship, and run anywhere”?
Docker allows developers to create consistent containerized applications that can be easily moved from development to production environments, ensuring they work the same way on any system.
What is the key advantage of Docker in Agile-based projects?
n Agile-based projects, Docker’s ability to create, update, and roll back containers easily allows for rapid adaptation to changing project requirements and rapid iterations.
What does “DC” typically refer to in the context of your previous question about “DC Architecture”?
In this context, “DC” typically stands for “Data Center,” which is a facility used to house computer systems, servers, and network equipment for data processing and management.
Describe the key components of a two-tier data center architecture.
: A two-tier data center architecture includes the Access layer (where end-user devices connect) and the Core layer (the backbone network for routing traffic). It often uses 1 GE and 10 GE links, with a full mesh core network.
What is “load balancing using ICMP” in the context of a data center?
Load balancing using ICMP involves distributing network traffic across multiple servers based on ICMP requests. ICMP is used to check server health, and traffic is routed to the server with the best response.
What are some common topics covered in a course on cloud computing?
A course on cloud computing covers topics such as cloud architecture, service models (IaaS, PaaS, SaaS), data management, cloud security, performance, cloud economics, and emerging technologies like fog computing and IoT clouds.
What are containers in the context of application packaging?
Containers are an abstraction at the app layer that packages code and dependencies together.
How do containers differ from virtual machines (VMs) in terms of resource utilization and performance?
Containers take up less space than VMs, and they have better performance characteristics. Containers run natively on the host machine’s kernel and are isolated processes, while VMs run guest operating systems and are resource-intensive.
What is an image in the context of containers, and how does it relate to containers?
An image is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software. A container is a runtime instance of an image, representing what the image becomes in memory when executed.
How do containers ensure isolation from the host environment by default?
Containers run completely isolated from the host environment by default, only accessing host files and ports if explicitly configured to do so.
What is the key difference between virtual machines (VMs) and containers regarding their dependencies and configuration?
VMs include guest operating systems, making them resource-intensive, and their disk images contain OS settings, dependencies, and patches. Containers, on the other hand, only contain the executable and its package dependencies, avoiding configuration entanglement.
Why is it said that a containerized app “runs anywhere”?
Containerized applications “run anywhere” because they contain all their dependencies, ensuring consistent behavior regardless of the host environment. They are self-contained and do not rely on host-specific configurations.
What are containers in the context of application packaging?
Containers are an abstraction at the app layer that packages code and dependencies together.
How do containers differ from virtual machines (VMs) in terms of resource utilization and performance?
Containers take up less space than VMs, and they have better performance characteristics. Containers run natively on the host machine’s kernel and are isolated processes, while VMs run guest operating systems and are resource-intensive.
What is an image in the context of containers, and how does it relate to containers?
An image is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software. A container is a runtime instance of an image, representing what the image becomes in memory when executed.
How do containers ensure isolation from the host environment by default?
Containers run completely isolated from the host environment by default, only accessing host files and ports if explicitly configured to do so.
What is the key difference between virtual machines (VMs) and containers regarding their dependencies and configuration?
VMs include guest operating systems, making them resource-intensive, and their disk images contain OS settings, dependencies, and patches. Containers, on the other hand, only contain the executable and its package dependencies, avoiding configuration entanglement.
Why is it said that a containerized app “runs anywhere”?
Containerized applications “run anywhere” because they contain all their dependencies, ensuring consistent behavior regardless of the host environment. They are self-contained and do not rely on host-specific configurations.
Why is Docker needed for applications?
Docker is needed for applications because it provides application-level virtualization, allowing a single host to run several isolated applications, enabling the “build once, deploy anywhere, run anywhere” principle, and facilitating better collaboration during application development.
What is the purpose of a Docker image?
A Docker image is a persisted snapshot that can be run. It serves as a portable package containing all the necessary components to execute a piece of software.
What are some common Docker image management commands?
Common Docker image management commands include:
images: List all local images.
run: Create a container from an image and execute a command in it.
tag: Tag an image.
pull: Download an image from a repository.
rmi: Delete a local image. This also removes intermediate images if no longer used.
How would you define a Docker container?
A Docker container is a runnable instance of a Docker image. It runs as an isolated process, encapsulating an application and its dependencies.