This document discusses why developers should use Docker containers. It notes that Docker can help solve problems with reproducibility across environments by allowing applications and dependencies to be packaged into containers that can be shared and run identically on any system. The document provides an example of building a Java/Spark application container using a Dockerfile and demonstrates the workflow of building, running, and deploying a containerized application to help address issues like "it works on my computer" bugs.
4. Why DevOps? Agile!
Reduce time to market & Adapt fast to change
Scrum for dev teams
Bugs & Code difficult to change
Changeable Design
Automated testing
CI
Etc.
Operations Problems
Fast feedback
on infrastructure
+ many others
8. Work with
Containers
●
Each component of your application runs in a
container
●
Dependencies are included in each container
●
Containers are shared by all developers,
sysadmins, operations etc. through SCC (eg.
git)
●
Containers are deployed as such
10. Workflow
●
Build the container
– Write the dockerfile
– Build it with docker. E.g. docker build -t [name]
●
Commit the dockerfile OR the resulting image
●
Run the container locally
– Mount any folder needed (e.g. the source files during dev, the
compiled app for production)
●
Deploy the container
– Docker needs to be installed on server