
Explore virtualization concepts, Docker architecture, and practical workflows to install, build, run, and manage containers and images with Dockerfile instructions, Docker registries and repositories, and Docker Hub.
Learn how to take this course and get support via the Q&A page and Facebook group, with GitHub source code and copy-paste commands for hands-on practice.
Explore how container-based virtualization, led by Docker, differs from hypervisor-based virtualization by sharing a single kernel across containers, enabling runtime isolation, faster deployment, cost savings, and portable apps across clouds.
Explore Docker's client-server architecture with the daemon building and running containers. Interact via the cli or Kitematic, and note Linux hosts differ from OS X or Windows with Docker machines.
Step by step instructions to install docker on your local machine.
Install Docker Toolbox on Mac or Windows to run Docker through a virtual machine in VirtualBox, using Docker client, Docker Machine, Docker Compose, Kitematic, and Quickstart Terminal.
In this lecture, we will get a conceptual understanding of some important Docker terminologies such as images, containers, registry and repositories.
We will start our first Docker workflow: pull an image from Docker Hub, create and run a container from the image.
In this lecture, we are going to deep dive into Docker containers. We will learn how to run containers in detached mode, how to use docker ps and docker inspect command, and how to specify docker container names.
Learn how to map container ports to host ports and use docker logs command.
Images are made up of layers. In this lecture, we will give an instruction to docker image layers.
Learn how to create a Docker image by committing changes made in a container.
Learn how to build Docker images by writing Docker files.
We will learn more Docker file instructions such as CMD, COPY and ADD, and the best practices to write Docker files. We will also cover how to take advantage of Docker cache to reduce build time and how to avoid aggressive caching.
Learn how to tag images and push images to Docker hub.
Containerize a simple hello world web app using Python and Flask with Docker, including a Docker file, building, running, and exposing via port 5000 while emphasizing non-privileged security practices.
In this lecture, we will turn our hello world application into a simple key value lookup web app. We will start with implementing this key value lookup web app as a single service. Then, we would look into splitting this application into two small services and run them in two different containers and we will see how this naturally leads to a micro-service approach.
We will see how to create docker links between the Redis container and our Docker app container and we will talk about how container link works behind the scenes.
Learn how to automate your Docker Compose workflow by defining services in a docker-compose.yml, specifying builds, ports, dependencies, and running all containers with one command.
We will learn more about Docker compose workflows and introduce compose commands such as docker compose logs and docker compose build.
Explore docker container networking, including the default bridge model and the four network types: none, bridge, host, and overlay. Create user-defined networks and list existing ones with docker network ls.
Learn how the none network creates a closed, fully isolated container with no external connectivity, using docker run --net none, validating isolation with ifconfig and ping.
Learn how the default bridge network in Docker connects containers on the same host, enabling inter-container communication and outside access, and how to create or connect to custom bridge networks.
Explain host network and overlay network models, noting host networks lack isolation but offer higher performance, while overlay networks enable multi-host networking via swarm mode or a key-value store.
Define container networks with docker compose by moving from the default bridge network to custom networks via the top level networks key and service level networks, enabling isolation across services.
We will see how we can write some unit tests for our application and run those tests inside a container.
In this lecture, we will introduce what is a continuous integration pipeline and how Docker workflow fits into it. Then we will configure our Github account for setting up a continuous integration pipeline.
Link CircleCI to your GitHub repo to configure a CI workflow with a CircleCI config.yml, run tests in Docker containers, and auto-trigger builds on commits.
Publish a built docker image to docker hub from circleci by using circleci environment variables for credentials and tagging with git hash and latest before pushing.
Assess Docker in production, weighing readiness and concerns around data persistence, networking, and security. Learn to deploy containers on virtual machines with Docker Machine and explore cloud options.
Register a Digital Ocean account and verify email to deploy your app, redeem a free coupon, and generate a personal access token to provision a droplet via the API.
deploy a Docker app to the cloud with Docker machine, provision a DigitalOcean VM, update Docker Compose to use the latest image, and bring up services.
Explore how Docker Swarm clusters multiple hosts, set up a two-node swarm with a manager and a worker, initialize the swarm, and join nodes to enable distributed scheduling.
Learn to deploy docker app services to a swarm cluster using docker stack and a compose file with deploy settings, enabling replicas, ingress load balancing, and scalable high-availability across nodes.
Explore Docker as the starting point for your DevOps journey, applying the right Docker workflow to continuously deliver better software.
Disclaimer:
This course requires you to download Docker Desktop from the Docker Official Website. If you are a Udemy Business user, please check with your employer before downloading software.
What is this course about:
This course covers all the fundamentals about Docker software and teach you everything you need to know about developing and deploying modern applications with Docker software.
In the end of this course, you will gain in-depth knowledge about Docker software and general DevOps skills to help your company or your own project to apply the right docker workflow and continuously deliver better software.
What will you learn from this course:
In particularly, you will learn:
Containerize a web-based application with a micro-service approach and automate it using Dockerfile.
Design multi-container applications and automate the workflow using Compose.
Scale Docker workflow with Docker Swarm, orchestrate and deploy a large-scale application across multiple hosts in the cloud.
Best practices of working with Docker software in the field.
In-depth knowledge about Docker software and confidence to help your company or your own project to apply the right Docker deployment workflow and continuously deliver better software.
Invaluable DevOps skills such as setting up continuous integration pipelines.
Why shall we learn Docker technologies:
Docker software is on the bleeding edge of technology today. It is also one of the most compelling technologies of the last decade in terms of its disruption to software development, operations, systems architecture, testing and compliance practices.
Docker is becoming a must tool for developers. containers and the Docker’s approach gives you the opportunity to work without any need of dependencies. Docker allows developers to focus on the things which actually matters without worrying about the environment where the application runs.
Tons of companies are using docker in production, today you have the access to that same virtualization technology right on your desktop.
About the author:
In the past, James worked at many companies such as Amazon and Google. Now James is working at one of the top Silicon Valley startups specializing big data analysis.
During the past two years, James has been leading his team to dockerize their old monolithic applications with a micro-service approach.
James' company has gained massive benefits by running Docker in production. In this course, he is going to share with you his years of knowledge and best practices of working with docker in the real field.
Why DevOps skills?
Nowadays DevOps engineers are in great demand in the IT industry. Companies are looking for developers who can both develop and deploy the applications.
The average salary of a DevOps engineer is about $140,000 per year in Silicon Valley area which is 20% higher than the salary of a software engineer.
Master DevOps Skills means you will be staying ahead in the competitive job market!
Why choosing this course?
This course is very hands on, James has put lots effort to provide you with not only the theory but also real-life examples of developing Docker applications that you can try out on your own laptop.
James has uploaded all the source code to Github and you will be able to follow along with either windows, MAC OS or Linux.
In the end of this course, James is confident that you will gain in depth knowledge about Docker and general DevOps skills to help your company or your own project to apply the right docker workflow and continuously deliver better software.
30-day money-back guarantee!
You will get 30-day money-back guarantee from Udemy for this course.
If not satisfied simply ask for a refund within 30 days. You will get full refund. No questions whatsoever asked.
Are you ready to take your DevOps skills and career to the next level, take this course now!
You will go from zero to Docker hero in 4 hours.