Containers / Docker Flashcards

1
Q

What is Docker?

A

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.

Docker provides the ability to package and run an application in a loosely isolated environment called a container. The isolation and security allow you to run many containers simultaneously on a given host. Containers are lightweight because they don’t need the extra load of a hypervisor, but run directly within the host machine’s kernel. This means you can run more containers on a given hardware combination than if you were using virtual machines. You can even run Docker containers within host machines that are actually virtual machines!

Docker provides tooling and a platform to manage the lifecycle of your containers:

Develop your application and its supporting components using containers.

The container becomes the unit for distributing and testing your application.

When you’re ready, deploy your application into your production environment, as a container or an orchestrated service. This works the same whether your production environment is a local data center, a cloud provider, or a hybrid of the two.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are containers?

A

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.

Container images become containers at runtime and in the case of Docker containers - images become containers when they run on Docker Engine.

Containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are 3 features of Docker containers that run on Docker Engine?

A
  • Standard: Docker created the industry standard for containers, so they could be portable anywhere
  • Lightweight: Containers share the machine’s OS system kernel and therefore do not require an OS per application, driving higher server efficiencies and reducing server and licensing costs
  • Secure: Applications are safer in containers and Docker provides the strongest default isolation capabilities in the industry.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Hyper-V and how is it different from VMWare?

A

Hyper-V is Microsoft’s Hypervisor. Hyper-V allows administrators to create virtual instances and virtual environments in isolation which facilitates efficient creation and management of more than one virtual server on the same set of machine hardware at the same time.

ESXi is a type-1 hypervisor designed by VMware. It is an operating system-independent hypervisor based on the VMkernel that interfaces with guests that run on top of it. ESXi stands for Elastic Sky X Integrated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is virtualization?

A

Virtualization is a broad term to describe a method of separating “a resource or request for a service from the underlying physical delivery of that service”

The idea of virtualization is used extensively in computing with techniques like virtual memory and virtual private networks. In terms of machine hardware, virtualization is a layer of abstraction between the processes running on a machine and the physical hardware (network devices, storage mediums, etc.) that the processes access [2]. By adding a layer between the hardware and the machine hardware, IT managers are able to pool their resources more effectively, thus reducing wasted resources and cutting IT costs. This fact alone makes it clear why virtualization is a vital tool for cloud service providers who need to deal with potentially hundreds of thousands of resource requests daily.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly