Check Docker Images for Vulnerabilities with Anchore Engine

When using Docker containers in production, we need to ensure that we are following best practices. In this post, we will focus on Ensure images are scanned and rebuilt to include security patches from the CIS Docker Community Benchmark which we discussed previously. The item states that you should scan your images “frequently” for any vulnerabilities and then take the necessary actions to mitigate these vulnerabilities. We will use Anchore Engine in order to accomplish this.

Continue reading “Check Docker Images for Vulnerabilities with Anchore Engine”

Setup Jenkins CI in 30 Minutes

Do you want to experiment with Jenkins CI in a local setup? In this post we will setup a local Jenkins CI server, create a build job for a simple Spring Boot Maven project and push the created Docker image to DockerHub. It will be a setup for local experimenting only, but really handy if you want to try out a Jenkins plugin for example.

Continue reading “Setup Jenkins CI in 30 Minutes”

Speed up Development with Docker Compose

Assume a new developer or test engineer is added to your team. You develop an application with obviously some kind of database and you want them to get up to speed as soon as possible. You could ask them to install the application and database themselves or you could support them with it, but this would cause a lot of effort. What if you handed them over a simple YAML file which would get them up to speed in a few minutes? In this post we will explore some of the capabilities of Docker Compose in order to accomplish this.

Continue reading “Speed up Development with Docker Compose”

How to Solve Your Java Performance Problems (Part 2)

In the first part of this post, we explained the Performance Diagnostic Methodology (PDM) and how to use it. But, the proof of the pudding is in the eating and therefore it is now time to apply the methodology. Of course, the best proof would be to apply the methodology to a real world performance issue, but instead of waiting for that, we will try to simulate some performance issues and verify whether the methodology can work.

Continue reading “How to Solve Your Java Performance Problems (Part 2)”

Create, install, upgrade, rollback a Helm Chart (part 2)

In part 1 of this post we explained how we can create a Helm Chart for our application and how to package it. In part 2 we will cover how to install the Helm package to a Kubernetes cluster, how to upgrade our Helm Chart and how to rollback our Helm Chart.

Continue reading “Create, install, upgrade, rollback a Helm Chart (part 2)”

Create, install, upgrade, rollback a Helm Chart (part 1)

In this post we will explain how we can use Helm for installing our application. In part 1 we will take a look how we can create a Helm Chart for our application and how to package it. In part 2 we will cover how to install the Helm package to a Kubernetes cluster, how to upgrade our Helm Chart and how to rollback our Helm Chart.

Continue reading “Create, install, upgrade, rollback a Helm Chart (part 1)”

Build and deploy a Spring Boot app on Minikube (part 2)

InĀ  part 1 of this post, we learned how to create a Spring Boot application, create a Docker image for it and push it to a Docker registry. At the end, we installed Minikube in an Ubuntu VM. In this second part, we will get familiar with some Kubernetes terminology, deploy the application to our Minikube cluster and update the application. The sources used for the application can be found at GitHub. The Docker registry which we use can be found here (or you can use your own Docker registry).

Continue reading “Build and deploy a Spring Boot app on Minikube (part 2)”