The complete guide to running Java in Docker and Kubernetes

4h 39m 16s
English
Paid

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.

Read more about the course

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.

Watch Online The complete guide to running Java in Docker and Kubernetes

Join premium to watch
Go to premium
# Title Duration
1 What you'll learn in this course 01:33
2 What is Docker 13:17
3 Installing Docker 05:01
4 Docker components 09:12
5 Gradle and the samples 11:45
6 JVM Ergonomics 07:01
7 Introduction to namespaces and cgroups 14:16
8 Container CPU shares 14:59
9 Container CPU quota 12:51
10 Container memory 12:06
11 Kubernetes introduction 16:22
12 Installing minikube 08:08
13 Running the samples in Kubernetes 13:04
14 Kubernetes resources 05:58
15 CPU in Kubernetes 08:38
16 Memory in Kubernetes 03:28
17 Liveness, readiness, and rolling deployments 07:54
18 Introduction to images 01:55
19 Picking a base image 09:37
20 JDK vs JRE base image 05:46
21 Multi stage builds 12:16
22 JVM modules and JLink 10:26
23 Graceful shutdown and handling signals 15:00
24 Handling signals in containers 06:04
25 Debugging inside containers 07:59
26 Speeding up startup with Class Data Sharding (CDS) 09:18
27 Going distroless: in search of smaller images 09:20
28 Lightning fast containers with Ahead Of Time (AOT) compilation 08:16
29 GraalVM native image introduction 09:21
30 GraalVM multi stage builds 07:35
31 Questions and feedback 00:50

Similar courses to The complete guide to running Java in Docker and Kubernetes

Java Foundations: The Complete Course with Java 21 Updates

Java Foundations: The Complete Course with Java 21 Updatesudemy

Category: Java
Duration 88 hours 37 minutes 5 seconds
Kubernetes CKS 2023 Complete Course + Simulator

Kubernetes CKS 2023 Complete Course + Simulatorudemy

Category: Kubernetes
Duration 11 hours 6 minutes 23 seconds
Amazon EKS Starter: Docker on AWS EKS with Kubernetes

Amazon EKS Starter: Docker on AWS EKS with Kubernetesudemy

Category: AWS, Docker, Kubernetes
Duration 5 hours 30 minutes 7 seconds
Kubernetes Hands-On - Deploy Microservices to the AWS Cloud

Kubernetes Hands-On - Deploy Microservices to the AWS Cloududemy

Category: Kubernetes
Duration 28 hours 23 minutes 41 seconds
Docker Swarm Mastery: DevOps Style Cluster Orchestration

Docker Swarm Mastery: DevOps Style Cluster Orchestrationudemy

Category: Docker
Duration 9 hours 3 minutes 4 seconds
Learn Java Unit Testing with Junit & Mockito in 30 Steps

Learn Java Unit Testing with Junit & Mockito in 30 Stepsudemy

Category: Java
Duration 4 hours 44 minutes 35 seconds
Testing Java with JUnit 5 & Mockito

Testing Java with JUnit 5 & Mockitoudemy

Category: Java
Duration 7 hours 41 minutes 22 seconds
Master Microservices with Java, Spring, Docker, Kubernetes

Master Microservices with Java, Spring, Docker, Kubernetesudemy

Category: Docker, Java, Kubernetes, Spring
Duration 23 hours 57 minutes 28 seconds