Top Banner
Docker by Demo by Srikanth Seshachary
45
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Docker by demo

Docker by Demoby Srikanth Seshachary

Page 2: Docker by demo

What is Docker?

Page 3: Docker by demo

History of LXC (Linux Containers)

Page 4: Docker by demo

cgroups

Page 5: Docker by demo

namespaces

Page 6: Docker by demo

Docker, a high level API

Page 7: Docker by demo

Why do we need Docker?

Page 8: Docker by demo

dependencies as versioned code

Page 9: Docker by demo

isolation of processes

Page 10: Docker by demo

speed

Page 11: Docker by demo

debugging

Page 12: Docker by demo

pluggability

Page 13: Docker by demo

devops – a process enforcer

Page 14: Docker by demo

devops – a tool between rpm, deb and ansible, chef, puppet

Page 15: Docker by demo

devops – a process enforcer

Page 16: Docker by demo

What’s wrong with VMs?

Page 17: Docker by demo

speed

Page 18: Docker by demo

new vm = minutes,new container = seconds

Page 19: Docker by demo

vms = separate kernel,containers = shared kernel (can have

different base image)

Page 20: Docker by demo

duplicate services (cron, syslog) need to be run for each role

Page 21: Docker by demo

Installing Docker

Page 22: Docker by demo

only 64-bit supported

Page 23: Docker by demo

kernel 3.8

Page 24: Docker by demo

sudo yum install docker-iosudo service docker start

Page 25: Docker by demo

Downloading (aka pulling) Images

Page 26: Docker by demo

$ sudo docker pull ubuntu$ sudo docker images

Page 27: Docker by demo

Launching Containers

Page 28: Docker by demo

$ sudo docker run -i -t ubuntu /bin/bash$ sudo apt-get install python3$ sudo docker ps$ sudo docker commit <container_id> image

Page 29: Docker by demo

Docker Repositories

Page 30: Docker by demo

local private images

Page 31: Docker by demo

The Docker Hub

Page 32: Docker by demo
Page 33: Docker by demo

Writing Your First Dockerfile

Page 34: Docker by demo

# DockerfileFROM ubuntuMAINTAINER James Turnbull "[email protected]"RUN apt-get updateRUN apt-get install -y nginxRUN echo 'Hi, I am in your container' \ >/usr/share/nginx/html/index.htmlEXPOSE 80ENTRYPOINT ["/usr/sbin/nginx"]CMD ["-h"]

Page 35: Docker by demo

$ sudo docker build -t="user/nginx" .

$ sudo docker run -t -i user/nginx

$ sudo docker run -t -i user/nginx -g "daemon off;“

$ sudo docker port <container>

Page 36: Docker by demo

Issues/Limitations/Misconceptions

Page 37: Docker by demo

lack of image inheritance– composing multiple images (for

example, ruby and nginx)

Page 38: Docker by demo

yet another tool – dockerizing your app takes time

Page 39: Docker by demo

not every app can be dockerized

Page 40: Docker by demo

you still need configuration management tools like ansible or

puppet

Page 41: Docker by demo

orchestration isn’t avoided either

Page 42: Docker by demo

Where do you go from here?

Page 43: Docker by demo

the docker book, james turnbull

Page 44: Docker by demo

try dockerizing one of your applications

Page 45: Docker by demo

References

• http://knitatoms.net/2013/12/benefits-of-docker-for-application-deployment/

• https://devopsu.com/blog/docker-misconceptions/

• https://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine