Docker & Docker Compose for Beginners
4.5 (77 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,380 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Docker & Docker Compose for Beginners to your Wishlist.

Add to Wishlist

Docker & Docker Compose for Beginners

Learn how to use Docker with GitHub storage and Digital Ocean deployment
4.5 (77 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,380 students enrolled
Created by Jan Zavrel
Last updated 3/2017
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 4 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • What is Docker, image and container
  • How to use Docker Hub and images already available
  • How to create your own images using Dockerfiles
  • How to spin up containers, how to stop them and remove them
  • How to work with volumes (mounted directories)
  • What is Docker Compose and how it can help you orchestrate containers
  • How to automatically provision your development environment to a remote server
  • How to use your code stored in a public GitHub repository
  • How to deploy your project to Digital Ocean droplet
View Curriculum
  • You should be able to use PC, ideally Mac
  • It's an advantage to have some PHP development background
  • You should be able to use command line (terminal), but I will give you a quick introduction

Hello and welcome to the course where I will teach you how Docker can help you with setting up and provisioning a specific development environment for your PHP project.

Even though I use PHP as an example, you can use the whole process for any other combination of microservices you need to use.

We will start with a simple Docker commands, then we will move to Docker Compose.

I will explain how you can use Docker Compose to orchestrate the whole process of creating images and spinning up containers while creating volumes and mounting directories.

Next, we will take a look at GitHub. I will show you how easy it is to use your code stored in a public GitHub repository.

Finally, we will take a look at deployment to the remote server. In this final part, we will put everything together and provision our development environment remotely to Digital Ocean droplet while using code stored in GitHub repository.

Along the way, you should follow me step by step. I suggest you watch this course twice:

  • For the first time, do exactly as I say and use my own examples. 
  • For the second time, try to use your own code stored locally and on your own GitHub account as well.

Attached, you will find the content I am referring to inside the course. It's better to just copy and paste the code than to rewrite it line by line manually.

Enjoy the course and if you have any questions, don't hesitate to drop me a line :)

Who is the target audience?
  • This course is primarily for PHP developers who want to try an alternative approach to common solutions like WAMP or Vagrant
  • While I will talk about PHP, everything applies to other languages and databases as well
Compare to Other Docker Courses
Curriculum For This Course
16 Lectures
6 Lectures 41:41

I will explain how to set up the same environment I use. Get along with terminal package and you are good to go!

Preview 04:02

In this lecture, I will show you step by step how to install Docker for Mac.

Preview 02:11

Here, we will take a look at Docker Hub, which is something like a central repository for Docker images. If you're familiar with GitHub, you'll feel right at home :)

Preview 10:33

In this lecture, we will create our first container! We will use official PHP image available on Docker Hub.

04 Creating PHP Container

Can you build Docker image? Let's see!

Building Docker image
2 questions

In this lecture, we will create a container for MySQL database. Use the attached file if you don't want to type everything manually. You can use the file, just rename it to mysql.php or copy and paste its content to your own file.

05 Creating MySQL Container Part 1

This is the second part of MySQL container creation. We will address some important aspects.

06 Creating MySQL Container Part 2
Docker Compose
8 Lectures 59:29

In this lecture, we will move on to some more exciting stuff. I will show you how Docker Compose helps you automate those tediuos steps we did manually in previous lectures.

07 Docker Compose & Nginx

In this lecture, we will create PHP container, but this time, we will use Docker Compose to help us. Use the attached files if you don't want to type everything manually. You can use those files, just rename them to index.php and default.conf or copy and paste their content to your own files.

08 Docker Compose & PHP

In this lecture, I will show you how to fix the most common error people have with Nginx container and most importantly, how to find out what is wrong with you container.

09 Fixing Nginx Error

In this lecture, I will explain volumes and how they can help you getting your code into the containers.

10 Volumes & Data Containers

In this lecture, I will show you how to create MySQL container the Docker Compose way :) Also, attached you will find the extended version of index.php file. Again, you can just rename it to index.php and overwrite the original one or just copy and paste the added section to your own file.

11 Docker Compose & MySQL

I will take you to the trip deep down the rabbit hole. We will jump from your machine deep down inside the container and then, once more, inside mysql server to create a table in our database!

12 Using MySQL CLI

What is dangling volume and how to cope with it. That's what you will find out in this lecture.

13 Dangling Volumes

Do you know what it is and how to work with it?

Dangling volume
3 questions

phpMyAdmin is the easiest way to manage your databases. After our trip to MySQL CLI, you might appreciate this alternative method.

14 Docker Compose & phpMyAdmin
Remote Development
2 Lectures 18:29

If you have a public repository with your code on GitHub, make sure to take this lecture and learn how you can automatically get your repository inside your container!

15 Using GitHub Repository

Digital Ocean droplet provisioned with your complete development environment including the code from GitHub. That's what you will have at the end of this lecture.

16 Provisioning to Digital Ocean
About the Instructor
Jan Zavrel
4.5 Average rating
362 Reviews
12,013 Students
9 Courses
iOS & Web Developer, Author, Teacher, Lifelong Learner

Hi, my name is Jan. I am Evernote Certified Consultant and the founder of THE SYSTEM2. I run online consulting business at ZAVREL CONSULTING where I explain my methodology for a life of happiness and fulfillment which I call THE FULL CIRCLE

I started my IT career as a Pascal programming language student in 1994. Later I discovered the potential of the web and co-founded WEBXP company, where I created websites and web applications for local businesses. 

In 2000, I started working for a German-based company Caatoosee, where I was the part of a team creating the top of the line web shop for than famous Breuninger Mode & Beauty online kaufen.At that time I also started my very own LAMP (Linux, Apache, MySQL, PHP) project and designed, developed and published one of the first so-called discussion servers, that were very popular in my country years before the Facebook became the worldwide success. After 16 years, I am working on its comeback!

In 2008, when iPhone SDK was introduced, I moved to mobile apps world and soon published my first verb dictionary for iPhone which you can still find on the App Store. 

In 2015, I founded BOHEMIAPPS which evolved from simple iPhone app project to creativity platform focused on iOS and web development. 

In 2016, I decided to push my mission even further with SMART PROFIT SCHOOL. I believe that everyone can teach and SMART PROFIT SCHOOL is about helping newcomers start their own online teaching career. I also published my first book in 2016, THE DIGITAL INSTRUCTOR

In 2017 I focused primarily on productivity, became Evernote Certified Consultant, and published my second book, THE SYSTEM2.