Introduction to Docker

Introduction to Docker

Talk given in the Ruby User Group Berlin on June 5th, 2014

570a76d7545a0ae4b693ffee5435717e?s=128

José Tomás Albornoz

June 05, 2014
Tweet

Transcript

  1. Introduction to Docker by josé albornoz

  2. José Albornoz chilean ruby = <3 co-founding startup ! @eljojo

    eljojo.net
  3. what’s docker?

  4. what’s docker? • Management system for LXC Containers • Lightweight

    virtual machines • Applications are isolated and easy to distribute
  5. Demo

  6. how does it work?

  7. Docker Image • Snapshot of filesystem • They run one

    process
  8. Demo

  9. Layers

  10. Layers Ubuntu

  11. Layers Ubuntu nginx

  12. Layers Ubuntu nginx ruby

  13. Layers Ubuntu nginx ruby rails application

  14. Layers !"5e66087f3ffe Virtual Size: 192.5 MB # $"4d26dd3ebc1c Virtual Size:

    192.7 MB # $"99ec81b80c55 Virtual Size: 266 MB # $"efc4fbcd007f Virtual Size: 584.5 MB # $"1f089cc15e82 Virtual Size: 584.5 MB Tags: ubuntu # #$"5c1088024f94 Virtual Size: 876.2 MB Tags: ubuntu-desktop # # $"afe3aba3e6e0 Virtual Size: 1.06 GB Tags: chrome # !"a97296852f54 Virtual Size: 606.2 MB # # $"4e81a0cd7256 Virtual Size: 606.2 MB Tags: ruby # !"c2b10e69958d Virtual Size: 596.8 MB # # $"0a422c0cdf16 Virtual Size: 596.8 MB Tags: redis # $"9f3000270ba2 Virtual Size: 643.8 MB # $"4b49b0b7aa4c Virtual Size: 643.8 MB # $"1535da87b710 Virtual Size: 660.8 MB Tags: nodejs
  15. Dockerfile • Images are created through Dockerfiles • Simple script

    that prepares the system to run the app
  16. Dockerfile FROM eljojo/golang-docker
 
 WORKDIR /app
 
 RUN git clone

    https://github.com/eljojo/shouldidothat.git .
 RUN go get -d
 RUN go build -o shouldidothat
 
 CMD ["/app/shouldidothat", "-c", "/etc/ shouldidothat/conf.json"]
  17. Container • Instance of Docker Image • Has it’s own

    private IP • You can map folders in host to folders in container
  18. Demo

  19. Registries • Like Git but for Docker Images • The

    Docker Index will host your public images for free
  20. CoreOS

  21. None
  22. None
  23. None
  24. None
  25. Thanks!

  26. github.com/eljojo/altoids