Do you know the pain of maintaining different Versions of Grails, Redis, PhantomJS or Postgres on your development box to work with various projects you’re involved in over time? Even if you get it done, how is this repeatable if a new colleague starts at your company? How do you set up testing environments for QA with different versions of your apps? Docker can be the answer to this.
In this talk i will introduce Docker and tell you why it’s worth looking at from a developer's perspective. Starting with different introductory examples, we will dockerize a “real world” Grails app with dependent services. Additionally we’ll have a look at the differences Grails 3 brings to the table regards containerization.
You will learn that managing the mentioned problems and more becomes a breeze and can even be a lot of fun.
Dockerize your Grails app
Software Developer | road-to-cuba-and-beyond.com | mariomddavid
What is a Container?
App + all depencencies
Hypervisor vs. container based Virtualization
What is Docker? - Example of Container-Virtualization
...actually a pretty old idea: Segmentation
lightweight Hypervisor VM shared Linux Kernel
Ouality of Service Cgroups
What is Docker? - At the right place at the right time
Docker for Developers
dev == prod
Talk is cheap, show me the code
“bit.ly for your own domain”
Grails 2.5 application
3oh1 as a Docker Container
$ docker run -it --rm -p 9000:8080 mariodavid/3oh1
Docker as Grails 3 App
$ docker run -it --rm -p 9001:8080 mariodavid/grails3-docker
ADD app.war /tmp/app.war
CMD java -jar /tmp/app.war
road-to-cuba-and-beyond.com | mariomddavid