Exploring Docker
at Gilt
A few concepts first...
●
●
●
●
●
●
●

cgroups
namespaces
chroot
containers
lxc
aufs
Containers are not VMs
Ok… so, what is docker?
● An easy way to create containers
○ Portable
○ Self-sufficient

● Uses lxc and aufs*
● Written in...
Ok… so, what is docker?
● 4 main components:
○
○
○
○

Dockerfile (image building tool)
A command line tool
A service api
A...
Docker - dockerfile
# cat Dockerfile
FROM ubuntu:13.04
RUN apt-get install python-software-properties
RUN add-apt-reposito...
Docker - command line tool
#
#
#
#

docker
docker
docker
docker

run lalala:1.0.0
ps
kill 6465778d29e4
logs 6465778d29e4
Docker - service api
# docker run ubuntu echo “lalala”
POST /images/create
POST /containers/create
POST /containers/{id}/s...
Docker - registry
● There is a public and a private option
● Public: index.docker.io
● It has an API
How we use docker @ gilt?
● We build images for every version of every
application.
● We deploy by pulling images to the s...
Why we like Docker?
●
●
●
●

Lightweight runtime environments
Application isolation
Stable runtime environments
Repeatabil...
Questions???
Jonathan Leibiusky
(@xetorthio)
ionathan@gmail.com

Thanks!!!
Upcoming SlideShare
Loading in …5
×

Exploring Docker at Gilt

3,701 views

Published on

The slides from Gilt Principal Systems Engineer Jonathan Leibiusky's presentation at the Hacker Union's "Hacker Forum," March 5, 2014.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,701
On SlideShare
0
From Embeds
0
Number of Embeds
2,731
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Exploring Docker at Gilt

  1. 1. Exploring Docker at Gilt
  2. 2. A few concepts first... ● ● ● ● ● ● ● cgroups namespaces chroot containers lxc aufs Containers are not VMs
  3. 3. Ok… so, what is docker? ● An easy way to create containers ○ Portable ○ Self-sufficient ● Uses lxc and aufs* ● Written in go
  4. 4. Ok… so, what is docker? ● 4 main components: ○ ○ ○ ○ Dockerfile (image building tool) A command line tool A service api A registry
  5. 5. Docker - dockerfile # cat Dockerfile FROM ubuntu:13.04 RUN apt-get install python-software-properties RUN add-apt-repository ppa:duh/golang RUN apt-get update RUN apt-get install golang ADD . /lalala EXPOSE 5000 CMD cd /lalala && go run lalala.go # docker build -t lalala:1.0.0 .
  6. 6. Docker - command line tool # # # # docker docker docker docker run lalala:1.0.0 ps kill 6465778d29e4 logs 6465778d29e4
  7. 7. Docker - service api # docker run ubuntu echo “lalala” POST /images/create POST /containers/create POST /containers/{id}/start # docker ps GET /containers/json
  8. 8. Docker - registry ● There is a public and a private option ● Public: index.docker.io ● It has an API
  9. 9. How we use docker @ gilt? ● We build images for every version of every application. ● We deploy by pulling images to the selected hosts and run containers.
  10. 10. Why we like Docker? ● ● ● ● Lightweight runtime environments Application isolation Stable runtime environments Repeatability
  11. 11. Questions??? Jonathan Leibiusky (@xetorthio) ionathan@gmail.com Thanks!!!

×