Save 37% off PRO during our Black Friday Sale! »

Virtualisation - Vagrant and Docker

Virtualisation - Vagrant and Docker

I don't know much about it, but I do know enough to think it's the future of web development. History, comparisons, examples and talking points.


James Ford

March 09, 2016


  1. Virtualisation I don’t know much about it, but I know

    enough to think it’s the future of web development.
  2. The Problem … Even if you do find documentation, it’s

    inaccurate, out of date, and incomplete. You copy some files here and there. You install a programming language or two. You run a random shell script. You fiddle with environment variables. [...] of course, some of the requirements from one project conflict with the requirements of another project. Before you know it, you’re spending hours reading about RVM and RBEnv so you can run multiple versions of Ruby, you’re fighting with strange errors with C header files… “ ” Yevgeniy (Jim) Brikman - Atomic Squirrel
  3. Wouldn’t it be better to take a snapshot of the

  4. A couple of solutions are:

  5. In 30 seconds... Virtual machines are like emulators: • Mirror

    your Live environment • Isolated from host machine • Shareable • Cross-platform
  6. Vagrant Docker What’s the difference?

  7. How does it all work?

  8. How Vagrant works • Compressed file system archive (Box file)

    • Text-based configuration file (Vagrantfile) • Vagrant CLI • Pre-built Box file library
  9. How Docker works • Partial file system archives (Images) •

    Text-based configuration file (Dockerfile) • Docker CLI, Docker Compose CLI • Container Repository
  10. Caveat Emptor

  11. Caveat Emptor

  12. Similarities • Virtual machines running in VMware • Can easily

    mean working with huge binary files • Multiple machines with networking • Local and remote environments • Existing repositories of starter images
  13. Differences • Docker uses incremental images in builds • Multi-machine

    setup in Docker is easier • Docker advises it is ‘Not Production ready’
  14. Which is better?

  15. Vagrant example .

  16. Docker example .

  17. Where can Virtual Machines take us?

  18. What VMs could mean • Death to ‘It works on

    my machine’ • Say ‘No!’ to intangible dependencies • Banish the OS incompatibilities • Minimise setup and onboarding times
  19. The Moon Shot • The same Virtual Machine images in

    use on Local, Dev, Live and everything in-between • Scalable Solution
  20. Questions?