4 ms·
If you want to containerize a java app check out jib. Really easy to use and integrates well with gradle
by jontro 6y ago
If you want to containerize a java app check out jib. Really easy to use and integrates well with gradle
- victor106 6y agoand also very fast. At my current gig we use jib to containerize Springboot apps.
- jbverschoor 6y agoWhy not just create an executable war or ear?
- jacques_chester 6y agoIf an organisation has decided to standardise around Kubernetes, OCI images and so on, then stuff like Jib or Buildpacks can make JVM-based software fit much more smoothly into that world. But where that's not the operational setup, JARs on app servers are perfectly fine, IMO.
- radarsat1 6y agoCan I ask, what is it really to "containerize" and why does it need a special tool? From what I can tell "containerization" is mostly just starting up a Docker image, running apt-get or equivalent to install tools (in this case, a JVM), and specifying a launch script or entry point. You might give it some arguments for what ports and volumes to mount. Is there more to it? Because that kind of thing doesn't seem to require more than a simple script or two, and I have a hard time understanding why you need dedicated tools for this.
- jacques_chester 6y agoThe main reason for specialisation is efficiency. The selection of the contents and ordering of layers has an effect on how quickly the can be rebuilt/updated, how big they need to be, how much deduplication you can get between images etc. A few years ago I wrote up a scheme (which wasn't pursued) for automatic image construction[0]. The first half of the writeup enumerated a bunch of problems with relying purely on Dockerfiles. [0] https://docs.google.com/document/d/1M2PJ_h6GzviUNHMPt7x-5POUaadcvK3ZNT9QEGDZhPk/edit https://docs.google.com/document/d/1M2PJ_h6GzviUNHMPt7x-5POU...
- radarsat1 6y agoThanks for the write-up!
- jacques_chester 6y agoHappy to help.
- scarface74 6y agoI agree. I didn’t know anything about Docker - and I am still no expert. I put our entire CI/CD pipeline based on two or three easy to follow articles. After you run dotnet publish https://aws.amazon.com/blogs/compute/hosting-asp-net-core-applications-in-amazon-ecs-using-aws-fargate/ https://aws.amazon.com/blogs/compute/hosting-asp-net-core-ap... I never bothered to go through the manually steps. I used the CF template above. Here is the complete Docker file for containerizing an ASP.Net Core API. FROM microsoft/aspnetcore:2.0 WORKDIR /mymvcweb COPY bin/Release/netcoreapp2.0/publish . ENV ASPNETCORE_URLS http://+:5000 EXPOSE 5000 ENTRYPOINT ["dotnet", "mymvcweb.dll"] When you create your registry in ECR. It gives you the Docker commands Here is the CF Template: https://github.com/1Strategy/fargate-cloudformation-example https://github.com/1Strategy/fargate-cloudformation-example
- jayd16 6y agoNo it doesn't need more than a simple script, but writing that simple script is trickier than you think.