Docker images, Docker containers, Docker Hub, Compose, Machine, Swarm etc. are frequently used terms when working with Docker. In this article, we will be explaining you various terminologies used with Docker Ecosystem to help you get started with next step.
In getting started with Docker – Part-1, we outlined the fundamental concepts of Linux containers and evolution of Docker. Before we start building containers of our own, it is important that we understand all the terminologies used frequently with Docker ecosystem.
Docker is evolving very fast and we will try to update this section if something new comes into Docker ecosystem, so I request you to inform us in comments if we miss out something.
1. Docker Engine or Docker
Docker engine is the core of Docker platform. It is a lightweight runtime engine for building and deploying Docker containers. Docker Engine runs on Linux to create the operating environment for your distributed applications. Docker uses a client-server architecture. The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker Containers.
2. Docker Hub
Just like github, where you can put your application source code for version control in private or public repository, Docker Hub also provides registry capabilities for public and private content. It helps the developers to collaborate effortlessly with the broader Docker community or within your team on key content, or automate your application building workflows.
3. Docker Trusted Registry
Docker Registry holds Docker Images. Trusted Registries are primarily built with enterprises in mind. Docker Trusted Registry allows organizations to store and manage your Docker images on-premise or in their virtual private cloud to support security or regulatory compliance requirements in keeping data. It can be easily integrated to the organization’s preferred storage and authenticate services like Active Directory / LDAP services. It can also be integrated with software development workflows like Continuous Integration (CI) and Continuous Delivery (CD).
The open source implementation of Docker Trusted Registry is Docker Registry.
4. Docker Kitematic
Kitematic is a powerful graphical user interface (GUI) for installing and configuring of all the necessary components to run Docker on your laptop. With Kitematic, you can switch between GUI and CLI to run and manage your containers.
5. Docker Toolbox
Docker Toolbox is an installer to quickly and easily install and setup a Docker environment on your computer. It is Available for both Windows and Mac, the Toolbox installs Docker Client, Machine, Compose (Mac only), Kitematic and VirtualBox. You think of it as an alternative to boot2docker tool. Docker toolbox is compatible with Mac OS X 10.8+ and Windows 7+.
6. Docker Machine
Fairly new to Docker ecosystem, Docker Machine automates the Docker installation for you. It can set up Docker on your computer, on cloud providers, and inside your data center. Docker Machine provisions the hosts, installs Docker Engine on them, and then configures the Docker client to talk to the Docker Engines.
7. Docker Swarm
Also new to Docker ecosystem, Docker Swarm provides native clustering capabilities to turn a group of Docker engines into a single, virtual Docker Engine. With these pooled resources, you can scale out your application as if it were running on a single, huge computer.
8. Docker Compose
Docker is always used to run a single isolated service and at a time you might be running multiple linked containers for your entire application stack. Docker Compose allows you to define your multi-container application with all of its dependencies in a single file, then spin your application up in a single command. Your application’s structure and configuration are held in a single place, which makes spinning up applications simple and repeatable everywhere.
9. Docker Image
Docker image is a read-only template. For example, an image could contain an Ubuntu operating system with Apache and your web application installed. Images are used to create Docker containers. Docker provides a simple way to build new images or update existing images, or you can download Docker images that other people have already created.
10. Docker Container
A running instance of Docker Image is called Docker Container. You can think of it as Classes and Instances where Docker Image is Class and Container is its running Instance. Each container is an isolated and secure application platform.
That’s all about Docker Ecosystem and its various terminologies. In the next article, we will start building our first “Hello World” Docker Containers.
If you have any questions or suggestions please write it down in the comments.