7. Development
• Always changing dependencies in projects
• Keeping up with changes takes away
productivity
• Differences as small as a different patch level or
different compile time argument can mean hours
of debugging.
14. Image
• Create image from Dockerfile
• Run image to create a container running the
dependencies and source code
• Result is the same on every host computer able
to run a Docker host (Linux).
17. Docker vs VMs
App
A
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
VM
Guest
OS
Guest
OS
AppA
Docker
Host OS
Server
AppA
Bins/Libs
AppB
AppB
AppB
AppB
Container
Bins/Libs
18. Backing services
• We try to serve only 1 service in an image
• Backing services like Postgres, Redis,
ElasticSearch, Memcached have their own
images
19. Conclusion
• Docker makes dependency management and
cooperation on projects way easier!
• Less downtime during development and in
production due to clear definition of required
environment.