12. Host OS
Networking
DOCKER_HOST
Container1
Docker daemon
docker0: 192.168.1.100
:80 :8001 :8002 :8003
eth0: 172.17.0.2
Container2
eth0: 172.17.0.3
Container3
eth0: 172.17.0.4
Container4
eth0: 172.17.0.5
eth0: 10.100.2.100
veth5998974veth473629a
veth2726149bveth736321c
Docker Networking uses
NAT to route inbound
traffic to each container
Each container can use the
same port, internal to it’s
container, but must be
addressable outside by
unique ports per HOST
Load Balancers and Service
Discovery are new
important topics
Note: networking may vary based
on your orchestration engine
Editor's Notes
Companies are adopting Docker at a remarkable rate
Already moving their applications from VM to containers
Containers are multiple isolated Linux instances running on a single host
VM’s virtualizes the server hardware where as containers virtualizes the guest os
That means the footprint of your container will be small and don’t need to worry about
Each and every application comes in different sizes and with a lot of settings.
So packaging it and distributing it may lead to some headaches
Containers running on a single machine, share same os kernel
Powering up is fast,
Images are constructed as layered filesystems, so they can share common files between images itself there by reducing disk usage and image downloads becomes more efficient
Based on open standards, allows to run on all major Linux distros and Windows itself
Apps in container are isolated from each other and underlying infrastructure
Host - A VM running the Docker Daemon to host a collection of Docker Containers
Image - An ordered collection of filesystems* to be used when instancing a container
Container - A runtime instance of an image
Registry - A collection of docker images
Dockerfile - Commands to build a Docker image
Tag - A version identifier for an image, plus the registry name [docker tag [registrypath]/image:[version]]
Host - A VM running the Docker Daemon to host a collection of Docker Containers
Image - An ordered collection of filesystems* to be used when instancing a container
Container - A runtime instance of an image
Registry - A collection of docker images
Dockerfile - Commands to build a Docker image
Tag - A version identifier for an image, plus the registry name [docker tag [registrypath]/image:[version]]