This document provides an introduction to building cloud-native Java applications using Docker and Kubernetes. It begins by explaining how to set up the necessary tools like Java, Docker, Kompose, and Kubernetes. It then demonstrates Dockerizing a sample Java application and deploying it locally with Docker Compose. Next, it shows how to deploy the application to Kubernetes, using Kompose to generate Kubernetes manifest files. It discusses some initial challenges in exposing the application via Kubernetes and provides solutions using NodePorts and Ingress. It concludes by outlining some next steps like improving load balancing, deploying multiple instances, using namespaces, and aggregating logs.