The Power of Docker - Deepstash
The Power of Docker

The Power of Docker

Ideas, facts & insights covering these topics:

6 ideas

·

725 reads

18

2

Explore the World's Best Ideas

Join today and uncover 100+ curated journeys from 50+ topics. Unlock access to our mobile app with extensive features.

What Is Docker?

What Is Docker?

Docker is an open source containerization toolkit which enables developers to package applications into containers.

As the name suggests, Docker is like a container ship which provides means to sort, link, manage and ship containers from a development setup into production.

20

185 reads

What is a Container

What is a Container

Think like a Virtual Machine but:

  • light weight
  • great resource efficiency
  • improved developer productivity

Where containers differ from VMs is the fact that they take advantage of the Linux kernel which comes with process isolation and virtualization capabilities.

These capabilities are control groups(allocating resources), and namespaces(restricting a processes access to other areas of the system).

Some real world examples would be the fact that a container has a specific place on the ship and a container lock, which keeps everything secure inside it.

18

156 reads

Why it’s actually not a VM

Why it’s actually not a VM

Containers don’t come with the weight of a full OS image and a hypervisor.

Containers include only OS processes and dependencies necessary to execute the code inside them.

Containers occupy less space(MBs not GBs) which means you can run multiple copies of the same application on the same hardware.

Containers are faster and easier to deploy, provision and restart. This make them ideal for CI/CD pipelines and a better fit for Agile development teams.

17

86 reads

What ACTUALLY is Docker

What ACTUALLY is Docker

Docker enhances the native Linux containerization technologies which enables:

  • seamless portability: can run natively across any desktop, data center or cloud development
  • granular updates: only one process runs in a container. An application can continue running without a container being taken done
  • automatic container creation: based on application source code
  • container versioning: tracking image versions and roll backs are fast
  • container reuse: base images can be used as templates for nee containers
  • shared container libraries: an open source user contributed container images registry

16

65 reads

Docker tools

Docker tools

DockerFile - every container has one and states the instructions for building the container’s image. It consists in command-line instructions;

Docker images - contains executable source code, libs and dependencies the code needs; Read-only file; A Docker image can be build from scratch, most developers reuse common ones from repositories;

Docker containers - the live and running instance of the Docker image; Ephemeral, users can interact with them, run commands and adjust settings using docker commands

Docker registry - open source distribution system and versioning using git

16

63 reads

Docker deployment

Docker deployment

On the same host:

  • Docker Compose - creates a .yaml which specifies the used containers; can deploy and run containers from a single command; can define persistent volumes for storage, databases and service dependencies;

On different hosts:

You need container orchestration tools.

  • Docker Swarm
  • Kubernetes
  • AWS EKS
  • OpenShift

17

170 reads

IDEAS CURATED BY

pvl

Ex Backend @deepstash

CURATOR'S NOTE

Docker is a very powerful tool for development and code deployment. This is what you’re missing to take it to the next level!

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Personalized microlearning

100+ Learning Journeys

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving

Unlimited history

Unlimited listening to ideas

Downloading & offline access

Supercharge your mind with one idea per day

Enter your email and spend 1 minute every day to learn something new.

Email

I agree to receive email updates