0% found this document useful (0 votes)
46 views28 pages

Docker Container

The document provides an introduction to Docker including what Docker is, basic Docker commands, Dockerfiles, the anatomy of Docker images and containers, Docker volumes, Docker networking, and Docker Compose. It covers the key concepts needed to understand and use Docker for building, shipping and running applications.

Uploaded by

Drashti Suthar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views28 pages

Docker Container

The document provides an introduction to Docker including what Docker is, basic Docker commands, Dockerfiles, the anatomy of Docker images and containers, Docker volumes, Docker networking, and Docker Compose. It covers the key concepts needed to understand and use Docker for building, shipping and running applications.

Uploaded by

Drashti Suthar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Introduction to Docker

Alexander González {Microsoft Student Partner}


alexander.gonzalez@studentpartner.com
Agenda
Section 1: Section 3:
What is Docker
What is Docker Not Networking
Basic Docker Commands
Dockerfiles

Section 2: Section 4:

Anatomy of a Docker image Docker compose / stacks


Docker volumes Demo
FIRST OF ALL!

App A App
A

Maquina programador/Entorno Servidor/Entorno


desarrollo producción
Section 1: What is
Docker
Basic Docker Commands
Dockerfiles
What is a container?
 Standardized packaging for
software and dependencies
 Isolate apps from each other
 Share the same OS kernel
 Works for all major Linux
distributions
 Containers native to
Windows Server 2016
The Role of Images and
Containers

D o c ke r Doc ker
Image Container
E x a m p l e : Ubuntu with C re a t e d b y us i n g a n i ma ge.
N ode. j s a n d Ru n s your
application.
A p pl i c a t i o n C o d e
Docker containers are NOT VMs
 Easy connection to make
 Fundamentally different architectures
 Fundamentally different benefits

Maquina Contenedor
Virtual es

7
Docker Containers Versus Virtual
Machines
App 1 App 2

B i ns/ Li bs B i ns/ Li b s

App 1 App 2

Guest O S Guest O S
B i ns / Li bs B i n s/ Li bs

Hy pe r vi so r D o c ke r E n g i n e

H ost Ope r at i ng S y st e m Ho st Ope r a t ing Sy s t e m

Virtual D o c ke r
Machines Contai ners
• Light weight , open, secure platform
S im plif y building, shipping, running
W h a t Is apps
D o c ke r ?

• R u n s natively o n L i n u x or W i n d o w s
S e rver
• R u n s on W i n d o w s or Mac
D e v e l o p m e n t machine s (with a
virtual m achine)
• Relies on " i m a g e s " a n d "containers"
Using Docker: Build, Ship, Run Workflow
Developers IT Operations

BUILD SHIP RUN


Development Environments Create & Store Images Deploy, Manage, Scale

10
Some Docker vocabulary
Docker Image
The basis of a Docker container. Represents a full application

Docker Container
The standard unit in which the application service resides and executes

Docker Engine
Creates, ships and runs Docker containers deployable on a physical or
virtual, host locally, in a datacenter or cloud service provider

Registry Service (Docker Hub(Public) or Docker Trusted


Registry(Private))
Cloud or server based storage and distribution service for your images
11
Basic Docker Commands
$ docker image pull node:latest

$ docker image ls
$ docker container run –d –p 5000:5000 –-name node node:latest

$ docker container ps

$ docker container stop node(or <container id>)

$ docker container rm node (or <container id>)

$ docker image rmi (or <image id>)

$ docker build –t node:2.0 .

$ docker image push node:2.0

$ docker --help
Dockerfile – Linux Example
 Instructions on
how to build a
Docker image

• Looks very similar


to “native”
commands

• Important to
optimize your
Dockerfile
14
Section 2:
Anatomy of a Docker Container
Docker Volumes
Volume Use Cases
Let’s Go Back to Our Dockerfile

15
Each Dockerfile Command Creates a Layer


EXPOSE

COPY

WORKDIR

RUN

FROM

Kernel

16
Docker Image Pull: Pulls Layers

17
Docker Volumes
 Volumes mount a directory on the host into the container at a specific location

 Can be used to share (and persist) data between containers


 Directory persists after the container is deleted
 Unless you explicitly delete it

 Can be created in a Dockerfile or via CLI

18
Why Use Volumes
 Mount local source code into a running container

docker container run -v $(pwd):/usr/src/app/ myapp

• Improve performance
− As directory structures get complicated traversing the tree can slow system
performance

• Data persistence

19
Section 3:
Networking
What is Docker Bridge Networking
Docker host Docker host

Cntnr 1 Cntnr 2 Cntnr 3 Cntnr 4 Cntnr 5 Cntnr 6 Cntnr 7

bridgenet1 bridgenet2 bridgenet3

docker network create -d bridge --name


bridgenet1

21
Docker Bridge Networking and Port Mapping

Docker host 1
Host port Container port
Cntnr1

10.0.0.8 :80
$ docker container run -p 8080:80 ...

Bridge

172.14.3.55 :8080

L2/L3 physical network

22
Section 4:
Docker Compose
Docker Compose: Multi Container Applications

 Build and run one container at a time  Define multi container app in compose.yml
 Manually connect containers together file
 Must be careful with dependencies and  Single command to deploy entire app
start up order  Handles container dependencies
 Works with Docker Swarm, Networking,
Volumes, Universal Control Plane

49
Docker Compose: Multi Container Applications

version: '2' # specify docker-compose version

# Define the services/containers to be run


services:
angular: # name of the first service
build: client # specify the directory of the
Dockerfile
ports:
- "4200:4200" # specify port forewarding

express: #name of the second service


build: api # specify the directory of the Dockerfile
ports:
- "3977:3977" #specify ports forewarding

database: # name of the third service


image: mongo # specify image to build container
from
Docker Compose: Scale Container
Applications
Demo
Angular Node.js/Express Mongo DB

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy