Deployment? Container? Docker?

Priagung Satria
3 min readJun 7, 2021
https://www.docker.com/

What is Docker?

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. With Docker, you can manage your infrastructure in the same ways you manage your applications. — docs.docker.com

Simply put, docker is used to run software on any hardware, by creating its own libraries that are required and using all the dependencies required to run your work. Docker creates an environment precisely as the developer sets it to be.

Docker Architecture

https://www.javatpoint.com/docker-architecture

Docker Client

Docker Client enables the user to communicate to the server(daemon) using commands and REST APIs.
Docker Client can use Command Line Interface(CLI) to run command such as

docker run

The Client will send the command to the daemonin the form of REST API’s request. The client can also communicate with multiple docker daemons.

Docker Host

The host is providing the environment to execute the application.
The host contains the server, images, containers, networks, and also storage.

  • Docker Daemon
    Daemon listens to REST APIs requests and manages docker objects.
    A Daemon could also communicate to other daemons to manage docker services.
  • Docker Objects
    There are several type of object in docker such as:
    Images,
    Docker image is provided by a read-only template used to create Docker Containers.
    Containers,
    Containers are created to hold the entire package to run the image, Container is a copy of the image and you can create, delete a container using the API.

Docker Registry

A Docker registry is a place where users store and manage Docker images. When the client executes commands such as docker pull, the required image is pulled from the configured registry and when the client executes docker push command the docker will be stored in the registry according to the configuration given.

Docker Orchestration

Furthermore, as we scale our applications up, we’ll want some tooling to help automate the maintenance of those applications, able to replace failed containers automatically, and manage the rollout of updates and reconfigurations of those containers during their lifecycle. — docs.docker.com

In other words a Docker orchestration is automation of coordinating and managing containers. The orchestration is more focused to manage the life cycle of said container and their environments.

Implementation of Docker in our ongoing project

In our project we use docker orchestration to run two containers, one solely for frontend purposes such as UI and one for backend management mainly for managing databases.

Thank you for reading this article,
I hope this would help in some way or another,
:)

--

--