Docker For Java Developers

Tags: Docker

Learn how you can use Docker to supercharge your enterprise Java Development!

Last updated 2022-01-10 | 4.5

- How you can run Docker Containers
- How you can create and run your own Docker Images
- Publish Docker Images to Docker Hub

What you'll learn

How you can run Docker Containers
How you can create and run your own Docker Images
Publish Docker Images to Docker Hub
Learn how to use Docker Compose to Run Multiple Docker Containers
Use Docker Swarm for Cloud Scale Computing
Use Maven to Create Docker Images
How to use Docker Containers for Integration Tests
Run multiple Docker containers with Docker Compose
How you can leverage Docker Containers for Integration tests from CI Builds
Create Your Own Docker Swarm Cluster

* Requirements

* Students taking the course should have basic Java programming skills
* Spring knowledge is not required
* but helpful
* The ideal student will have basic Linux skills
* Local Admin access for installing Docker

Description

If you're a Java developer, Docker is a true game changer for you!

Developing Java applications in large enterprises is no easy task. Every day you are asked to work with many different technologies. In the morning, you might need to save data to a MySQL database. In the afternoon, you might be working with RabbitMQ. Tomorrow you might be asked to work with Mongo or Redis.

Think about what you need to do when working with all these different technologies.

If you install all these on your laptop, it becomes cluttered and slow. Sure, you could use VMs to run these - if you really want to slow down your laptop. Virtual Machines are awesome, but VMs can also be huge resource hogs. 

If you're on a dev team, you can set up dedicated development servers. But then you don't have a clean development environment. And your development work becomes dependent on access to the development servers.

Docker is an exciting technology you can leverage for enterprise development.

The popularity of Docker has been explosive. Much of the industry focus has been on DevOps. But more so on the Operations part.

Did you know Google creates roughly 285 MILLION Docker containers per day?

Docker is clearly a popular technology for running cloud scale applications like GMail. 

But as a Java developer, what does Docker mean to you?

Are you working with MySQL? There's a ready made Docker image for you.

Postgres? Mongo DB? Redis? Cassandra? RabbitMQ? ActiveMQ? Kafka?

Yep, there's Docker images you can download and use today.

You can use Docker for a lot more than just your local development. 

Are you developing microservices? If you are not already deploying your microservices in Docker containers, chances are you soon will be.

Introduction to Docker

This course starts off assuming you have no knowledge about Docker. 

You will learn why Docker is not like a Virtual Machine. 

Right away, you will learn how to run a Docker container with a Docker Image pulled down from Docker hub.

As the course progresses, you will learn how to create your own Docker images and publish those images to Docker hub.

Java DevOps with Docker

Through the use of the Fabric8 Maven plugin, you will learn how to automate many Docker tasks, such as creating images for microservices. 

Docker Compose is a powerful tool to run multiple Docker containers. You will learn how to run how to run an application consisting of a Spring Boot web application, RabbitMQ, a page view microservice, and a MySQL database. Through Docker Compose, with a single command, you will be able to start or stop this application on any Docker machine!

Using Docker Swarm Mode

You'll learn how Docker Swarm Mode does container orchestration. In this course, you will provision your own Docker Swarm Cluster in the cloud. You will deploy a containerized Java application into a Docker Swarm Cluster. You'll see what a powerful feature Docker Swarm's routing mesh is, and how you can dynamically scale your application. 

Expert Interviews

This course includes interviews with leading industry experts!

  • James Labocki - Product Owner, Red Hat Cloud Infrastructure

  • More on the way!

Slack Group

Exclusive to this course is a Slack group you can join to interact with the instructor, teachers assistants, and other students learning Docker from around the world. Say hi. Get help with a problem, or help someone else. When you enroll in this course you can join a community of others learning Docker!

Spring Boot Cookbook!

Course includes a Spring Boot Cookbook giving you example Spring Boot projects you can use against popular open source technologies including:

  • Mongo DB

  • MySQL

  • Postgres

  • Maria DB

  • DB2 Express

  • Neo4J

  • Redis

  • Cassandra

  • ActiveMQ

  • RabbitMQ


Who this course is for:

  • The ideal student for this course is a Java developer who wants to learn how to use Docker

Course content

11 sections • 106 lectures

Course Introduction Preview 04:36

Instructor Introduction Preview 02:29

Free 120 Day IntelliJ Trial! Preview 00:41

Checking out from GitHub Preview 09:53

GitHub Workflow Preview 12:20

Docker Cheat Sheet Preview 01:03

Course Slack Room - Chat Live with Me and Other Gurus! Preview 00:48

Introduction Preview 00:51

What is Docker Preview 14:20

In this lecture I describe what Docker is, why Docker is important, and why you want to use Docker if you are a Java developer.

Docker Editions Preview 09:17

Docker Editions are a fairly new addition to Docker. In this lecture I explain what the different Editions of Docker are, and the new version numbering for Docker Releases. 

Installing Docker Preview 01:49

The student needs to install Docker on their operating system to follow along with the course examples. 

Hello World with Docker Preview 03:52

In this lecture we step through the classic "hello world" example using Docker. This verifies the student has correctly configured their Docker environment. 

Docker Hub Preview 06:06

Docker Hub is a public repository for Docker images.

Introducing KiteMatic Preview 03:21

Kitematic is a GUI tool for working with your Docker environment. In this lecture I give you an overview of Docker's kitematic tool. (This tool is optional for the course)

Assignment - Run Hello World Nginx Preview 01:01

Conclusion Preview 01:04

Introduction Preview 01:53

Running Mongo DB Docker Container Preview 10:01

Assignment - download and run Spring Boot Project Preview 01:18

Assignment Review Preview 05:53

Docker Images Preview 07:50

Docker Files Preview 08:01

Non Persistent Container Storage Preview 06:35

Assigning Storage Preview 09:30

Assignment - Run Rabbit MQ in a Docker Container Preview 02:28

Assignment Review Preview 07:56

Assignment - Run MySQL in a Docker Container Preview 02:33

Assignment Review Preview 07:11

Docker House Keeping Preview 08:36

Flash Cards Preview 06:56

Conclusion Preview 01:49

Introduction Preview 00:49

Preparing CentOS for Java development Preview 08:22

Run Your Own Spring Boot App Preview 01:30

Sample Spring Boot Application Preview 04:33

Running Spring Boot from Docker Preview 10:29

Assignment - Fix Dockerfile Preview 00:59

Assignment Review Preview 02:00

Interview with James Labocki of Red Hat Preview 17:03

Conclusion Preview 00:57

Introduction Preview 01:33

Maven vs Gradle and Fabric8 Preview 03:21

Spring Boot Application Code Review Preview 03:25

Adding Fabric8 Maven Plugin Preview 06:49

Creating Docker Image in Fabric 8 Preview 07:40

Publishing to Dockerhub Preview 06:03

Assignment - perform a release in Maven Preview 01:08

Assignment Code Review Preview 03:12

Using A Docker File Template Preview 09:47

Flash Cards Preview 05:55

Conclusion Preview 01:00

Introduction Preview 02:10

Running a Docker image from Maven Preview 06:16

Design for a more robust application Preview 03:06

Application Code Review Preview 10:51

Running Example Application with Docker Preview 10:31

Running Docker Containers via Maven Preview 15:53

Using Docker Containers for Integration Testing Preview 11:08

Using Maven for CI Builds Preview 05:23

Assignment: Add Pageview Counter for Index Page Preview 01:41

Assignment Review Preview 05:28

Flash Cards Preview 05:30

Conclusion Preview 02:13

Introduction to Docker Compose Preview 02:35

YAML Crash Course Preview 07:50

Run Wordpress with Docker Compose Preview 09:45

Run Pageview Service with Docker Compose Preview 11:39

Assignment: Add Web Application to Docker Compose Preview 01:09

Assignment Review Preview 07:51

Adding Spring Boot Actuator Preview 03:14

Conclusion Preview 02:28

Introduction Preview 02:01

What is Docker Swarm Mode? Preview 14:13

Docker Swarm Mode Init Preview 08:37

Docker Swarm Topology Preview 07:54

Provision Servers for Docker Swarm Preview 07:25

Assignment - Install Docker on Swarm Servers Preview 00:51

Assignment - Review Install Docker Preview 06:13

Creating a Multi Node Docker Swarm Preview 10:39

Assignment - Install Portainer Preview 00:33

Assignment Review Preview 12:38

Docker Swarm Service Discovery Preview 04:43

Docker Swarm Routing Mesh Preview 06:59

Flash Cards Preview 06:38

Conclusion Preview 02:10

Introduction Preview 00:46

Deploy MySQL as Service in Docker Swarm Preview 06:40

Docker Overlay Networks Preview 09:19

Docker Swarm Stacks Preview 12:20

Using Docker Secrets Preview 03:52

Implementing Docker Secrets Preview 12:15

Conclusion Preview 01:11

Spring Boot Cookbook Introduction Preview 01:29

Spring Boot Mongo DB Example Preview 06:00

Spring Boot MySQL Example Preview 08:07

Spring Boot Postgres Example Preview 08:59

Spring Boot Maria DB Example Preview 09:33

Spring Boot DB2 Example Preview 07:28

Spring Boot Oracle Example Preview 12:42

Spring Boot Neo4J Example Preview 08:46

Spring Boot Redis Example Preview 06:44

Spring Boot Cassandra Example Preview 10:13

Spring Boot ActiveMQ Example Preview 09:11

Spring Boot RabbitMQ Example Preview 11:52