Upload
walid-shaari
View
194
Download
2
Embed Size (px)
Citation preview
DHAHRAN
http://katacoda.com/courses/docker/mentor-weekhttp://katacoda.com/courses/docker/mentor-week-cluster
http://play-with-docker.com
§ Introductions and socializing 9:00
§ Docker/Meetup intro 9:15
§ Preparation for hands-on labs as communicated 9:30
https://gist.github.com/walidshaari/61bb2fdfceb4d924bd90a416025209fc
§ Learning Docker with Mentor Week Courses targeting end by 11:30
§ Vim vs. EMA
§ Emacs
§ Linux
§ Windows
§ Development
§ Operations
§ other
§ Devops
§ Configuration management tool
§ Containers
§ Schedulers
§ Containers management tools, or distributions
§ Clusters, load balancers, orchestrtaion
0.0.3 March 2013
1.0 June 2014
1.1 July 2014
1.2 August 2014
1.3 October
2014
1.4 December
2014
1.5 February
2015
1.6 April 2015
1.7 June 2015
1.8 August 2015
1.9 November
2015
1.10 Feburary
2016
1.11 April 2016
1.12.0 July 2016
1.12.1 August
2016
1.12.2 October
2016
1.12.3 October
2016
12
Build, Ship, Run Distributed Applications Anywhere
Containers as a Service• Integrated platform for IT and developers• Commercial technical support provider (Docker, IBM,
HPE)
Docker Project Sponsor• Primary contributor and maintainer to Docker project• 7B+ Image Downloads, 3000+ Contributors, 700,000+
Dockerized Applications
Docker Inc.
State of Applications Survey, Q1 2016
Docker users running in production
60%
Applications are changing
13
Loosely Coupled Services
Many Small Servers
~2000 Today
Monolithic
Big Servers
Slow changing
Rapidly updated
Benefits of Docker
20
+ +Agility Portability Control
State of App development Survey: Q1 - 2016
13X More software releases
20X Better resource utilization
44% Reduce VM usage by >25%
Eliminate“works on my machine”
issues
41%Move workloads across
private/public clouds
62% Report reduced MTTR
Course Instructions
STEP 0: Visit
Register with Docker Community:
https://community.docker.com/registrations/groups/4316
Channel global-mentor-weekDirect Message me as soon you enter
Linux features?
Name spaces?cgroups?Lxc?
Union file systems
Configuration management ?
Virtualization technology?
npm
jar
Packaging ?
rpm
deb
tar.gz
Virtual/environment management ?
Manualconfiguration
Traditional VMs
Less PortableMinimal overhead
Most PortableLots of overhead
Configuration Management tools
Containers
Docker
Intel ClearContainers
Container encapsulate an application completely with all of its software dependencies into a standardized unit for software portable across different platforms*.
https://www.docker.com/what-docker
Bin/Libs
Database
Docker Engine
Docker capable OS
Bin/Libs
Load balancer
Bin/Libs
Web ServerWeb Server
Bin/Libs
§ Docker Core Components:§ Engine : Portable (light/heavy) weight run time, and packaging tool§ Registry : Central repos to manage sharing of packaged Docker images, and
enabled (build, ship, release, run) workflows ( the default registry Docker HUB)
§ Containers Eco System§ Modular
§ Check Schedulers§ Compliant
§ OCI§ Holistic
§ End to end workflows
§ Image:The basis of a Docker container
§ Docker Container: The standard unit in which the application service resides "running image instance"
§ Docker Engine: Runs on Linux, Creates, ships and runs Docker containers deployable on physical or virtual host locally, in a datacenter or cloud service provider
§ Docker Machine:Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage the hosts with docker- machine commands. You can use Machine to create Docker hosts on your local Mac or Windows box, on your company network, in your data center, or on cloud providers like AWS or Digital Ocean.
§ Docker Registry: On-premises registry for image storing and collaboration
Containers
• Packages up software binaries and dependencies "minimal"• Isolates software from each other• Container is a standard format• Easily portable across environment• Allows ecosystem to develop around its standard Container
https://docs.docker.com/
https://docs.docker.com/docker-for-mac/https://docs.docker.com/engine/installation/linux/https://docs.docker.com/engine/installation/windows/
Can’t install Docker? Use
http://katacoda.com/courses/docker/mentor-weekhttp://katacoda.com/courses/docker/mentor-week-cluster http://play-with-docker.com
More Docker content? http://Katacoda.com/learnTweet #DockerDhahran #LearnDocker
1- Go to https://docs.docker.com/windows/2- then start installation https://docs.docker.com/windows/step_one/3- Ensure git bash terminal is installed4- invoke a git bash terminal5- verify the docker-machine
1- Initialize the Docker machine environment2- Verify the Docker-machine
docker-machine ls
docker-machine env default
3- You might need to create a virtual default machine
You might need to create a virtual default machinedocker-machine create --driver virtual box default
docker search –s 20 alpine
curl -s -S 'https://registry.hub.docker.com/v2/repositories/library/alpine/tags/' | jq '."results"[]["name"]' |sort
https://medium.com/@mccode/the-misunderstood-docker-tag-latest-af3babfd6375#.2rn04fqc9
$docker run alpine:latest cat /etc/alpine-release$docker run alpine:2.6 cat /etc/alpine-release$docker run alpine:2.6 uptime$docker run alpine:latest uptime
$ for i in {1..10}; do docker run alpine uptime; done
$ docker ps -a
$man docker-rm
$docker ps –a
$docker rm container [container...]
What if you want to remove:
volumes associated with the container?
Links associated with the container?
Running container?
Network Storage I/OMemoryCPU
CGROUP 1
CGROUP 2
CGROUP 3
CGROUP 4
CGROUP 5
CGROUP 6 CGROUP 8
CGROUP 9
CGROUP 7
- Other subsystems:• DEVICE• HUGETLB• CPUSET
Host
Isolation is achieved via Linux kernel namespaces
Container 3pbs_serve
rpbs_sched
sshd
Container 2
mpi_task(s)
pbs_mom
sshd
Container 1
mpi_task(s)
pbs_mom
sshd
Mount IPC UTSNetworkPID USER
Container have several name spaces
Host
Container 2
mpi_task(s)
pbs_mom
sshd
Container 1
mpi_task(s)
pbs_mom
sshd
Mount IPC UTSNetworkPID
Container 3pbs_serve
rpbs_sched
sshd
USER
Network namespace can be shared between one or more container
Host
Container 2
mpi_task(s)
pbs_mom
sshd
Container 1
mpi_task(s)
pbs_mom
sshd
Mount IPC UTSNetworkPID
Container 3pbs_serve
rpbs_sched
sshd
USER