7. What are the basics of the Docker system?
Source
Code
Repository
Dockerfile
For
A
Docker Engine
Docker
Container
Image
Registry
Build
Docker
Host 2 OS (Linux)
ContainerA
ContainerB
ContainerC
ContainerA
Push
Search
Pull
Run
Host 1 OS (Linux)
http://www.slideshare.net/dotCloud/docker-intro-november
8. Changes and Updates
Docker Engine
Docker
Container
Image
Registry
Docker Engine
Push
Update
Bins/
Libs
App
A
AppΔ
Bins/
Base
Container
Image
Host is now running A’’
Container
Mod A’’
AppΔ
Bins/
Bins/
Libs
App
A
Bins/
Bins/
Libs
App
A’’
Host running A wants to upgrade to A’’.
Requests update. Gets only diffs
Container
Mod A’
http://www.slideshare.net/dotCloud/docker-intro-november
18. Pod
• A deployment unit
• one or more containers
• Shared storage volumes
• Shared IP (i.e. access via localhost) and port space
• Deployed together (co-located, co-scheduled)
• Ephemeral (reschedule new instance, not rerunning an ”old” instance)
24. Service
• Set of Pods
• An access policy (session affinity, port,
external port etc.)
• Provides a stable endpoint for other
services
http://kubernetes.io/docs/user-guide/services/
Platform for managing Linux Containers
API for image management
Builds on cgroup and namespacing
Built in Go
Includes an image specification and container specification (namespaces, filesystem resources etc.)
(DockerFile)
Container = OS level virtualization - a lightweight VM
Not duplicating the whole OS for each ”machine”
Platform for managing Linux Containers
API for image management
Builds on cgroup and namespacing
Built in Go
Includes an image specification and container specification (namespaces, filesystem resources etc.)
(DockerFile)
Opinionated Platform for hosting containers (not just docker)
Provides container grouping, load balancing, healing, scaling etc.
Started by Google based on their internal concepts
One of several options in the market killing all the rest
Others include Docekr Swarm, Mesos etc.
Opinionated Platform for hosting containers (not just docker)
Provides container grouping, load balancing, healing, scaling etc.
Started by Google based on their internal concepts
One of several options in the market killing all the rest
Others include Docekr Swarm, Mesos etc.
Opinionated Platform for hosting containers (not just docker)
Provides container grouping, load balancing, healing, scaling etc.
Started by Google based on their internal concepts
One of several options in the market killing all the rest
Others include Docekr Swarm, Mesos etc.
Kubelet – Node agent
Holds PodSpecs
Performs probes on containers
ExecAction: Executes a specified command inside the Container. The diagnostic is considered successful if the command exits with a status code of 0.
TCPSocketAction: Performs a TCP check against the Container’s IP address on a specified port. The diagnostic is considered successful if the port is open.
HTTPGetAction: Performs an HTTP Get request against the Container’s IP address on a specified port and path. The diagnostic is considered successful if the response has a status code greater than or equal to 200 and less than 400.
Kube controller
Node controller: Responsible for noticing and responding when nodes go down.
Replication controller: Responsible for maintaining the correct number of pods for every replication controller object in the system.
Endpoints controller: Populates the Endpoints object (that is, joins Services & Pods).
Service Account & Token controllers: Create default accounts and API access tokens for new namespaces.
Cloud controller – api to specific clouds
Init containers run in a chain to completion (must end) one after the other
Can be used to ensure pre-requisites are met
Can have different permissions that the containers that run in the pod
Lifecycle, livenessProbe, readinessProbe,startupProbe