DOCKER

VM

VIRTUAL MACHINES

Virtual machines (VMs) are an abstraction of physical hardware turning one server into many servers. The hypervisor allows multiple VMs to run on a single machine. Each VM includes a full copy of an operating system, one or more apps, necessary binaries and libraries - taking up tens of GBs. VMs can also be slow to boot.

Container

 

CONTAINERS

Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space. Containers take up less space than VMs (container images are typically tens of MBs in size), and start almost instantly.

Installing Docker 

  • https://docs.docker.com/docker-for-mac/install/#download-docker-for-mac
  • install Docker.dmg
  • Docker is running as a Demon

Starting a Single Container

 

docker run -d -p 80:80 --name webserver nginx
  • pulling and starting an instance of an image as a container
  • running container in detached mode
  • opening container port on host port

list conatiners

(sudo) docker ps [OPTIONS]

docker exec -ti docker_conatiner_name OR docker_container_ID

Layered File System

Dockerfile

  • Docker can build images automatically by reading the instructions from a Dockerfile.
  • The docker build command builds an image from a Dockerfile.
  • You use the -f flag with docker build to point to a Dockerfile anywhere in your file system.
  • You can specify a repository and tag at which to save the new image if the build succeeds.
  • To tag the image into multiple repositories after the build, add multiple -t parameters when you run the build command:

Example

Docker-Compose

  • Compose is a tool for defining and running multi-container Docker applications
  • With Compose, you use a Compose file to configure your application’s services

DEMO !!!

DOCKER

By Nikunj Parmar

DOCKER

  • 1,862