Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dockerize your Grails App for more deployment fun - Gr8Conf EU 2016

Dockerize your Grails App for more deployment fun - Gr8Conf EU 2016

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.

Mario David

June 02, 2016
Tweet

More Decks by Mario David

Other Decks in Programming

Transcript

  1. Hypervisor vs. container based Virtualization Hypervisor App OS App OS

    App OS OS App Userspace App Userspace App Userspace
  2. What is Docker? - Example of Container-Virtualization ...actually a pretty

    old idea: Segmentation marketing technological lightweight Hypervisor VM shared Linux Kernel Isolation Namespaces Ouality of Service Cgroups OS App Userspace App Userspace App Userspace Solaris Zones OpenVZ FreeBSD Jails LPAR LXC
  3. What is Docker? - At the right place at the

    right time Accessibility Cloud DevOps Docker Hub Community
  4. • “bit.ly for your own domain” • Grails 2.5 application

    • Database dependency • github.com/ManningPublications/3oh1 3oh1 as a Docker Container $ docker run -it --rm -p 9000:8080 mariodavid/3oh1
  5. even easier... Docker as Grails 3 App $ docker run

    -it --rm -p 9001:8080 mariodavid/grails3-docker FROM java:8-jre-alpine ADD app.war /tmp/app.war CMD java -jar /tmp/app.war Dockerfile