Docker

Contents

Docker#

Docker is an open-source platform for developing, shipping, and running applications in isolated environments called containers. It enables developers to package applications with all necessary dependencies and configurations, ensuring consistency across different development and production environments.

👉 New to AppSeed? Join our 8k+ Community using GitHub One-Click SignIN.

Here are the main Docker concepts:

Containers

  • Containers encapsulate an application and its dependencies, ensuring consistency across multiple environments (development, testing, production).

  • Unlike virtual machines (VMs), containers share the host OS kernel and isolate the application processes, making them more lightweight and efficient.

Docker Engine

The core part of Docker, it is a client-server application with the following major components

  • Server (Docker Daemon): Runs the containers.

  • REST API: Interfaces the daemon with applications.

  • Client (Docker CLI): Enables users to interact with Docker.

Docker Images

  • Read-only templates that contain the application and its environment.

  • Built from Dockerfiles, which are scripts defining the image content.

Dockerfiles

  • Text documents containing instructions to assemble a Docker image.

  • Define the base image, application dependencies, configuration settings, and commands to run the application.

Docker Hub

  • A public registry where users can find and share Docker images.

  • Allows pulling pre-built images or pushing custom images.

Volumes

  • Persist data generated by and used by Docker containers.

  • Ensures data persistence beyond the container lifecycle.

Networks

  • Allow communication between containers and between containers and the host.

  • Provide isolation and segmentation of network traffic.

Resources#