Skip to main content

The complete guide to running Java in Docker and Kubernetes

4h 39m 16s
English
Paid

Course description

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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 31 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

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

0:00
/
#1: What you'll learn in this course

All Course Lessons (31)

#Lesson TitleDurationAccess
1
What you'll learn in this course Demo
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

Unlock unlimited learning

Get instant access to all 30 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Spring Professional Certification Exam Tutorial - Module 08

Spring Professional Certification Exam Tutorial - Module 08

Sources: udemy
Spring Professional Exam Tutorial explains and answers all questions from Spring Professional Certification Study Guide. Each answer to exam topic is explained
1 hour 54 minutes 51 seconds
DevOps Deployment Automation with Terraform, AWS and Docker

DevOps Deployment Automation with Terraform, AWS and Docker

Sources: udemy
Welcome to the advanced course on how to set up a deployment automation that’s capable of handling millions of users! In this course you will learn some of the most in-demand sk...
10 hours 59 minutes 9 seconds
Concurrency, Multithreading and Parallel Computing in Java

Concurrency, Multithreading and Parallel Computing in Java

Sources: udemy
This course is about the basics of multithreading and concurrent programming with some parallel concepts. In the 21st century this topic is becoming more and more popular with t...
8 hours 10 minutes 34 seconds
Java from Zero to First Job, Practical Guide, 2000+ examples

Java from Zero to First Job, Practical Guide, 2000+ examples

Sources: udemy
Welcome to the fundamental and the most complete course 'Java from Zero to First Job'. As it's declared in the course name, it's created for people who want to
80 hours 4 minutes 49 seconds
Docker for Node.js Projects From a Docker Captain

Docker for Node.js Projects From a Docker Captain

Sources: udemy
Welcome to the best course on the planet for using Docker with Node.js! With your basic knowledge of Docker and Node.js in hand, Docker Mastery for Node.js is a
8 hours 14 minutes 12 seconds