HOME > Development > The complete guide to running Java in Docker and Kubernetes

The complete guide to running Java in Docker and Kubernetes

  • Development
  • Apr 20, 2025
SynopsisThe complete guide to running Java in Docker and Kubernetes,...
The complete guide to running Java in Docker and Kubernetes  No.1

The complete guide to running Java in Docker and Kubernetes, available at $74.99, has an average rating of 4.25, with 31 lectures, based on 116 reviews, and has 969 subscribers.

You will learn about In depth knowledge of how Java works in a Container Kubernetes & Docker Containers in depth: Linux cgroups & namespaces How to build a production-quality Docker image for JVM applications This course is ideal for individuals who are JVM developers interested in understanding how the JVM behaves in a container or Java developers using Docker or Java developers using Kubernetes or JVM developers using containers It is particularly useful for JVM developers interested in understanding how the JVM behaves in a container or Java developers using Docker or Java developers using Kubernetes or JVM developers using containers.

Enroll now: The complete guide to running Java in Docker and Kubernetes

Summary

Title: The complete guide to running Java in Docker and Kubernetes

Price: $74.99

Average Rating: 4.25

Number of Lectures: 31

Number of Published Lectures: 31

Number of Curriculum Items: 31

Number of Published Curriculum Objects: 31

Original Price: £22.99

Quality Status: approved

Status: Live

What You Will Learn

  • In depth knowledge of how Java works in a Container
  • Kubernetes & Docker
  • Containers in depth: Linux cgroups & namespaces
  • How to build a production-quality Docker image for JVM applications
  • Who Should Attend

  • JVM developers interested in understanding how the JVM behaves in a container
  • Java developers using Docker
  • Java developers using Kubernetes
  • JVM developers using containers
  • Target Audiences

  • JVM developers interested in understanding how the JVM behaves in a container
  • Java developers using Docker
  • Java developers using Kubernetes
  • JVM developers using containers
  • If you need to learn how to run, tune, and maintain JVM applications that run in Docker and/or Kubernetes then this is the course for you.

    This course is very different from other Java/Docker/Kubernetes courses. It focuses on all the skills that you need to succeed in production.

    All of the examples are in Java but the content is applicable for any JVM language including Scala, Groovy, and Kotlin.

    We’ll start with introductions for Docker and Kubernetes then we’ll get into the fun stuff. We’ll learn:

  • What a container is under the covers

  • Linux cgroups

  • Linux namespaces

  • Then we will go into how the JVM and your Java application behave differently in Kubernetes when running inside cgroups and namespaces. We’ll cover:

  • JVM ergonomics

  • How CPU Shares and Quota work

  • How Kubernetes manages CPU and Memory

  • Then we will teach you all the techniques needed to build production-ready images:

  • Selecting a base image

  • JDK vs JRE based images

  • Multi-stage Docker builds

  • GraalVM

  • Class data sharing

  • Ahead of time compilation

  • We will experiment with different JVM versions and settings.

    By the end of this course you’ll know how to:

  • Build a production-ready image

  • Select between using CPU limits, quotas, or both in Kubernetes

  • Select memory limits and tune the JVM for running in Kubernetes

  • Understand CPU usage in Kubernetes and know why it is different to VMs and physical machines.

  • Course Curriculum

    Chapter 1: Introduction

    Lecture 1: What youll learn in this course

    Chapter 2: Docker for Java developers

    Lecture 1: What is Docker

    Lecture 2: Installing Docker

    Lecture 3: Docker components

    Chapter 3: Getting to know the samples

    Lecture 1: Gradle and the samples

    Chapter 4: Java Ergonomics

    Lecture 1: JVM Ergonomics

    Chapter 5: Containers in depth

    Lecture 1: Introduction to namespaces and cgroups

    Lecture 2: Container CPU shares

    Lecture 3: Container CPU quota

    Lecture 4: Container memory

    Chapter 6: Kubernetes

    Lecture 1: Kubernetes introduction

    Lecture 2: Installing minikube

    Lecture 3: Running the samples in Kubernetes

    Lecture 4: Kubernetes resources

    Lecture 5: CPU in Kubernetes

    Lecture 6: Memory in Kubernetes

    Lecture 7: Liveness, readiness, and rolling deployments

    Chapter 7: Production-ready Java images

    Lecture 1: Introduction to images

    Lecture 2: Picking a base image

    Lecture 3: JDK vs JRE base image

    Lecture 4: Multi stage builds

    Lecture 5: JVM modules and JLink

    Lecture 6: Graceful shutdown and handling signals

    Lecture 7: Handling signals in containers

    Lecture 8: Debugging inside containers

    Lecture 9: Speeding up startup with Class Data Sharding (CDS)

    Lecture 10: Going distroless: in search of smaller images

    Lecture 11: Lightning fast containers with Ahead Of Time (AOT) compilation

    Lecture 12: GraalVM native image introduction

    Lecture 13: GraalVM multi stage builds

    Chapter 8: Conclusion

    Lecture 1: Questions and feedback

    Instructors

  • The complete guide to running Java in Docker and Kubernetes  No.2
    Christopher Batey
    Principal Engineer @ Lightbend Inc
  • Rating Distribution

  • 1 stars: 0 votes
  • 2 stars: 1 votes
  • 3 stars: 11 votes
  • 4 stars: 43 votes
  • 5 stars: 61 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!