Docker For Developers

Tags: Docker

Use Docker to streamline your developer workflow and build out a awesome CI/CD pipeline

Last updated 2022-01-10 | 3.8

- Write Dockerfiles
- Work with the Docker Toolbox
- Work with the Docker Machine

What you'll learn

Write Dockerfiles
Work with the Docker Toolbox
Work with the Docker Machine
Use Docker Compose to bring up multiple containers
Work with Docker Kinematic
Push images to Docker Hub
Pull images from a Docker Registery
Push stacks of servers to Docker Hub

* Requirements

* Students are not required to know any additional material

Description

Hello,


Whether or not you’re a Developer, anyone who  works with code or servers will boost their productivity with Docker's open app-building platform. In this course you will learn how to use the Docker products including:

   1) Docker Toolbox

   2) Docker Client   

   3) Docker Machine   

   4) Docker Compose   

   4) Kitematic   

   5) Docker Cloud  

In addition, this course will cover how to work with images and containers, how to get your project running, and how to push it to the cloud, among other important lessons.   

 We first review what Docker is and why it is important.  We then walk through a step-by-step guide for both Windows and Mac to install all the required components you are going to need for the class.

 With your computer set up, we dive in the Docker Toolbox, the Docker Machine and Docker Client commands, and you'll quickly appreciate  how all these components help you in your development environment.

 Next, you'll learn to work with images, as well as Docker Containers, and how to link and manage them. After that, you'll discover how to get a fully-functional development environment up and running, both locally and in the cloud! By the end of this course, you'll be able to increase your productivity and create lightweight apps that run identically, no matter the environment.

Who this course is for:

  • Developers looking to increase their productivity
  • Developers looking to understand how Docker works
  • Beginning and advanced Docker users looking to improve their skills
  • Network admins looking to break into the world of Docker development

Course content

13 sections • 83 lectures

Course Overview Preview 01:37

Using The Exercise Files Preview 01:44

We will quickly review the how to work with the exercise files. Please download them prior to starting the course.

Please note that some people have been the issues with the chapter 8/9  .docker folder not showing in the zip. I have attached the folder directly in the exercise files aka this lecture to help with this. 

Introduction Preview 01:37

Docker is getting a lot of attention , and for good reason, but if you've looked into it all, you might have wondered what exactly is it, and is it something I can actually use as a web developer? I know when I first started reading about it, hearing about it at conferences ,

 I really wondered if it was something that even played a role in what I did, and the more I dug in, the more I found out that, yeah, it actually can play a big role in our web development process, and that's what we're going to address in this first Section.

 So let's look at these topics.

Topics:

  1. We will start off by talking about what exactly is Docker is, and we'll clarify some key terms and concepts that you need to know in order to be successful and to understand how Docker works.
  2.  We will then take those concepts and talk about how we can apply them to improve out development process and workflow. You will be surprised by how many benefits there are.
  3.  Next up we'll talk about the Docker tools and the role that they each play in this overall development workflow.
  4.  Then we'll wrap up by seeing Docker in action, and I'll actually show an application that's using Docker to hit a database, do some caching, and some other aspects of a normal development workflow and development application. So let's go ahead and get started by answering that all-important question of, what is Docker, and then jump into the benefits it can offer us as developers.

What is Docker? Preview 09:45

We will  start things off by answering the question, what is Docker? Docker does have some different terms, so we're going to clarify what those are, we're going to clarify where it can run, and how this all kind of works.

 So Docker itself is just a lightweight, open, secure platform, this is kind of the official party line if you will. And the first time I heard that it didn't make maybe a whole lot of sense because I could think of several things that might fit a lightweight, open, secure platform definition, but really what Docker is a way to simplify the process of building applications, shipping them, and then running them in different environments. Now when I say environments, of course I'm talking about development, staging, production, and others that you may have at work.

 We will then cover what actually ships with Docker then? Well we're going to be talking about things called images and containers, and containers are really, really important.

We will go over key buzzwords that are typically thrown around with Docker are images and containers. 

Docker Benefits for Developers Preview 04:39

In this Lecture we will go over how docker can benifit you as a developer.

Sowhether you're working on a team of one or many, Docker can help set up a
development environment very quickly, and that's really one of the key aspects
that we're going to focus on throughout this course. The Cool part is that's
just a very minor benefit of Docker overall, it's definitely a big benefit as a
web developer. 

Docker Tools Preview 01:39

Now that you've seen what Docker is and some of the benefits that it can offer us as web developers, let's jump in really quickly to some of the Docker tools that we're going to be talking about and actually installing a little later in the course. 

Docker in Action Preview 03:32

In  demonstration I'm going to show you how you can bring a up three containers all at once and use. We have a wordperss container, a , MariaDb as the database, and PHPAdmin as our database administrator container.  

Summary Preview 02:03

In this section, you've learned what Docker is and seen how it can simplify building, shipping, and running applications across different environments. 

Introduction Preview 01:06

In this section, we're going to take a look at the process for setting up Docker Toolbox on your development machine and getting a development environment all set up and running.

 I'm going to start off by introducing the process of installing Docker Toolbox on a Mac, and then I'll show the same process on a Windows machine. 

Installing Docker Toolbox on Windows Preview 01:41

Installing Docker Toolbox on Windows is as simple as walking through an installation wizard.So I'll show you how we can find that, download it, and get it running. 

Installing Docker Toolbox on Mac Preview 02:03

Guide to walk through installing docker on a mac

Getting Started with Docker Kitematic Preview 00:47

Kitematicallows us to visually search on Docker Hub, 
for Docker images that other people have already published,.  You can then and find an image you can bring
it down to your local machine and create, run, and then manage containers based on those images. In this lecture we will go over all that.

Docker in Action Preview 04:05

Demo time! Lets see some docker in action

Summary Preview 01:01

In this lecture we will review what we have learned

Introduction Preview 04:27

In this section we will introduce what docker 1.12.* is all about and what you will be learning about in the course.

Docker for Windows Preview 06:24

In this section we will review what docker for windows native is, and how to install it.

Docker for Windows Beta - Native windows containers Preview 08:27

In this section we will review what docker for windows native with native windows containers is, and how to install and work with it.

Docker For Mac Preview 03:59

In this section we will go over what docker for mac is and how it is different then the old boot2docker. 

Installing Docker on Windows Server 2016 Preview 08:06

In this section we will go over how you can install docker on windows 2016 for both windows and linux native containers. 

Installing Docker on Linux Preview 03:18

In this section we will go over how to install docker 1.12.* on linux.

Introduction Preview 02:03

Review using Docker Machine and Docker Client Course Topics 

Getting Started with Docker Machine Preview 03:41

Let's take a look at another tool in the Docker Toolbox called Docker Machine.

 Now Docker Machine can be used to create and manage your local machines that you're going to be working, for instance, on your development environment machine.

Docker Machine In Action Mac Preview 04:59

In this Lecture we will go over Docker Machine on a Mac

Docker Machine In Action Windows Preview 04:59

In this Lecture we will go over Docker Machine on a Windows

Getting Started With Docker Client - Mac Preview 07:55

In this lecture we will go over the Docker client tool, on a Mac, you can then

start working with Docker images and containers through the command line using
the Docker Client. 

Docker Client In Action - Windows Preview 07:58

Docker Commands Review Preview 02:23

Summary Preview 00:48

In this lecture we will review what we have learned

Introduction Preview 01:28

In the introduction we will review the the goals for this this section 

The Layered File System Preview 05:05

In this lecture we will go over how Docker images and containers work, and discuss something called the layered file system.

Containers and Volumes Preview 03:43

Up to this point we've learned about the layered file system and how it works with images and containers, and how containers are a little bit unique and have their own thin, read/write type of layered file system, and we call that the container layer typically.

Source Code. Volumes, and Containers Preview 08:09

Up to this point you've learned about the layered file system and how it's used with images and containers, and we've also learned about the basics of volumes, but let's go a little more in depth into volumes and how we can actually use these to store some source code.

DEMO: Add your source code to a node.js container. Preview 10:00

In this lecture we will go over how to link a node.js docker container to a volume and from their to your local development machine.

DEMO: Adding Source Code to a ASP.Net Application Preview 07:53

In this lecture  we're going to take a look at how we can get asp.net source code into a running Docker container by using volumes.

Removing Containers and Volumes Preview 02:28

In this lecture we will go over how  you can clean up volumes as you delete your containers.

Summary Preview 02:24

In this lecture we will review what we have learned

Introduction Preview 01:41

In the introduction we will review the the goals for this this section 

Getting Started With Dockerfile Preview 04:59

In this lecture we will review the Dockerfile

DEMO: How to Build a custom Node.JS Docker File Preview 07:53

In this lecture we are going to build a custom docker file for node.js.

DEMO: Build a custom Node.JS image and Container Preview 03:44

In this lecture we are going to take our Node.js Dockerfile and turn it into a custom image and container. 

DEMO: Building a custom Docker file for asp.net and dotnet core Preview 01:42

here we take the dotnet application we have been working on and build a docker file for it. 

DEMO: Build a custom dotnet core image Preview 01:53

In this lecture we will go through how to build a custom asp.net/dotnet image and container.

Publishing am Image to Docker Hub Preview 03:52

We will take the images we have made and publish them to Dockefile 

Summary Preview 01:12

In this lecture we will review what we have learned

Introduction Preview 02:08

In the introduction we will review the the goals for this this section 

Getting Started with Container Linking Preview 03:13

Will start working with Legacy linking to connect our containers.

Linking Containers By Name Preview 02:54

We will start naming our containers for linking purposes.

Linking a Node.js Container with a MongoDB cotainer Preview 04:35

This lecture will show how to link a Node.js Container and a MongoDB Container

Getting Started with Container Networks Preview 04:26

In this lecture we will start working with Container Networks

Demo: Container Networks In Action Preview 05:06

In this lecture we will demo container networks

Linking Multiple Containers Preview 01:26

In this lecture we review how to link multiple containers

Summary Preview 00:57

In this lecture we will review what we have learned

Introduction Preview 02:10

In the introduction we will review the the goals for this this section 

Getting Started With Docker Compose Preview 04:46

In this lecture we will go over Docker Compose

Getting Familiar with the docker-compose.yml file Preview 06:35

In this lecture we will go over docker-compose.yml file

Docker Compose Commands Preview 04:37

In this lecture we will review the Docker compose commands

Demo: Docker Compose in Action- Mac Preview 07:17

In this lecture we will go put our knowledge to the test and demo docker compose

Demo: Docker Compose In Action - Windows Preview 05:49

this lecture show you how to use docker compose  on windows. 

Setting Up You Development Environmental Services Preview 08:59

In the lecture we will go over docker's environmental vailables

Creating a custom docker-compose.yml Preview 08:11

In this lecture we will go over make a custom docker-compos.yml

Managing Development Environmental Services Preview 04:18

In this lecture Managing Development Environmental Services

Summary Preview 01:37

In this lecture we will review what we have learned

Introduction Preview 03:13

In the introduction we will review the the goals for this this section 

Getting Started With Docker Cloud Preview 03:12

In this lecture we will start to work with docker cloud. 

Linking To A Cloud Provider Preview 02:09

In this lecture we will link out docker cloud to a cloud provider.

Deploying a Node in Docker Hub Preview 02:36

In this section we look at how can deploy a node to our host provider using docker hub

Creating a Stack in Docker Cloud Preview 05:38

In this course we will go over what a stack is and how to create one in Docker Cloud.

Managing your stacks in Docker Cloud Preview 04:24

In this course we will review how to manage your stack in Docker cloud once it i

Summary Preview 01:55

In this lecture we will review what we have learned

Introduction Preview 01:30

In this section we will go over what we will cover in docker swarm chapter

Swarm Mode Theory Preview 06:00

So we are going to start off , a few terms and some new concepts, but they're huge. Well we will review, the crux of what's new with Docker 1.12 and later is native clustering, but I'm talking about proper native clustering here.

Configuring Swarm Mode Preview 07:42

We will finally get our hands dirty and build a swarm in a real world environment

Services Preview 03:48

Services are  One of the major, major constructs introduced in 1.12, and they're all about simplifying and, I don't know, robustifying large-scale production deployments.

Demo: Services Preview 05:07

Scaling Services Preview 05:14

In this section we will see the p wer of a declarative desired state, and, the sheer simplicity of scaling.

Rolling Updates Preview 05:25

We will take the service we built in the previous sections and update them with zero downtime

Stacks and DABs Preview Processing..

We will talk about the future of docker with stacks and DABS

Chapter Review Preview 02:00

We will review the topics covered in this chapter

Course Review Preview 03:57

We will review all the great things we have learned 

Course Quiz

In this quiz will go over some questions that relate to this course

​Docker Networking Drivers - Use Cases and Definitions​ Preview 05:10

Docker Hosting Options Preview 06:20

A review of some of the Docker Hosting Options Available.

Continuous Integration with Docker Compose Preview 05:16

Whether you're developing a microservices-oriented software application, or looking for a better way to distribute a traditional, monolithic application, Docker Compose is a key tool in the developer's arsenal. Formerly known as Fig, Docker Inc. acquired the software, when its creators joined Docker in July 2014, barely a month after the release of the first supported version of Docker. Since then, Fig has evolved into Docker Compose, has been considerably enhanced, and is widely used by Docker adopters in their development practices.