Docker for Java Developers
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?
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.
This course includes interviews with leading industry experts!
James Labocki – Product Owner, Red Hat Cloud Infrastructure
More on the way!
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:
Introduction to Docker
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 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.
The student needs to install Docker on their operating system to follow along with the course examples.
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 is a public repository for Docker images.
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)