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
Docker by Demoby Srikanth Seshachary
What is Docker?
History of LXC (Linux Containers)
cgroups
namespaces
Docker, a high level API
Why do we need Docker?
dependencies as versioned code
isolation of processes
speed
debugging
pluggability
devops – a process enforcer
devops – a tool between rpm, deb and ansible, chef, puppet
devops – a process enforcer
What’s wrong with VMs?
speed
new vm = minutes,new container = seconds
vms = separate kernel,containers = shared kernel (can have
different base image)
duplicate services (cron, syslog) need to be run for each role
Installing Docker
only 64-bit supported
kernel 3.8
sudo yum install docker-iosudo service docker start
# 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"]
$ 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>
Issues/Limitations/Misconceptions
lack of image inheritance– composing multiple images (for
example, ruby and nginx)
yet another tool – dockerizing your app takes time
not every app can be dockerized
you still need configuration management tools like ansible or