Docker Container Concepts, Architecture, Overview

Containers are key to the modern datacenter.

Docker is an open platform for developing, shipping, and running applications in containers.
This post describes the conceptual parts that you will use in setting up Docker. Here are the primary parts:

  • Docker Image is a read-only template for creating a Docker container. You can create your own Dockerfile to define the steps to create an image.
  • Docker Container is a runnable instance of an image. You can create, start, stop, move, or delete a container using the Docker API or CLI.
  • You talk to the Container through the Docker Engine that provides the Docker client which talks to the Docker daemon. The Docker daemon listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes.
  • Docker Registries stores Docker images. You pull Docker images from the registries. There are public registries and private registries. One private registry is Azure Container Registry provides a private registry for your containers.
  • Task of automating and managing a large number of containers and how they interact is known as orchestration.

Continue reading “Docker Container Concepts, Architecture, Overview”

The Value Proposition of Containers

Containers are key to the modern datacenter.

There’a a lot of buzz around containers. At its core, containers provides a way for you to deploy your app with all of its depenencies. Your container run on premises the same way it will in the cloud.

For the application in its container, it has no knowledge of any other applications or processes that exist outside of its box. Everything the application depends on to run successfully also lives inside this container. Wherever the box may move, the application will always be satisfied because it is bundled up with everything it needs to run.

For developers, it means that you no longer have to say, “Well it ran on my machine.” And it means that when you have larger apps, you can deploy in smaller chunks of code, where the dependencies do not need to cascade between teams. For IT Pros, it means that you can more effectively use those virtual machines. Instead of having one virtual machine for each app, you use the same VM for multiple apps. And when the VM is being used, you can quickly scale based on user demand.

Continue reading “The Value Proposition of Containers”