as the title states, I would like to run Camunda as Docker Container. Currently my application is built and running as Spring Boot. Im not that familiar with docker itself. In my mind, it would be something like taking the base camunda docker image and swapping out the .jar file for my current Spring Boot application.
Is there a way to achive that as straight forward or do I have to create my own Image with e. g. Postgres, Java, Linux on my own?
If the second is true, what the purpose of the Camunda Docker Image? Is it just a simple way to create a demo?
Many thanks and best regards!
You have to create your own docker image.
Docker images don’t contain Linux… They leverage the underlying kernel and hardware.
The point of a Docker image is to be unchanging. You use the same image for Test as you do for UAT and Prod, simply pointing them at different configuration directories.
I wouldn’t include Postgres in the image itself, but would include the JDBC drivers.
That way, you can keep the DBs (Dev, Test, UAT, Prod) in distinct instances, connecting the Camunda engine to them. If you need to tweak part of your spring app (code patch), you simply shut down the old Docker container, bring up the new one (assuming no DB patching), and away you go. If you need to roll back that code change, you do the same thing. Stop the Docker container, bring up the old one.
When you’re building your Docker image, you need to pack everything you need into it. Try not to pack any of the “nice to have” items, since they will swell your image size.
Here: Manufacturing_Process_Management_System/docker at master · ramp-eu/Manufacturing_Process_Management_System · GitHub you can find how we dockerized a camunda spring boot application. It involves creating a JAR file. See the repo for more info