You will learn the difference between the container and the virtual machine. This course will take you through the life cycle of the container and the various stages of development. Moreover, this course will train you to install Docker on various platforms, will create your first container, image, push and pull to the registry hub, will learn how to install your own local registry, volumes, container networking, orchestrating containers, and will learn how to debug your containers. You will build an HTTP server image, run as a service, and connect to it. Also, Finally, you will learn how to create a swarm and prepare your containers for production.
Who this class is for
- It is for developer, operation managers, and IT professionals who would like to learn Docker.
Prerequisites
- No prior knowledge of Docker is required.
- Docker is open-source, so no subscriptions are required.
Course Outline
- What is Docker?
- What is the difference between VM and Containerization?
- Installing Docker
- Download your first image
- Docker Flow
Handling Docker Containers
- Run your first container
- Terminology
- Working with Docker image
- Working with interactive container
Building images
- Docker's integrated image building system
- A quick overview of the Dockerfile's syntax
- Dockerfile build instructions
- How to remove images
- How to remove containers
Publishing image
- Understanding the Docker Hub
- How to push images to the Docker Hub
- Automatic building of images
- Private repositories on the Docker Hub
- Creating organizations on the Docker Hub
Running services in a container
- Overview of container networking
- Envisaging Container as a Service (CaaS)
- Exposing container services
Sharing data volumes
- Sharing volumes between containers
- Practicality of data sharing between containers
- Sharing volumes between host and container
- Practicality of host data sharing
- Avoiding common pitfallsFF
- Filesystem vs. Volume
Orchestrating containers
- Linking containers
- Orchestrating
- Example of docker-compose
Testing with Docker
- Overview of TDD
- Testing your code inside Docker
- Integrating Docker testing into Jenkins
Debugging containers
- Control groups
- Docker debugging commands
Securing Docker containers
- Is Docker secure?
- Best practices for container security
Running your private Docker infrastructure
- The Docker registry and index
- Docker registry use cases
- Run your own index and registry
- Push the image to a newly created registry
Swarms
- Set up your Docker environment
- Build an image and run it as one container
- Scale your app to run multiple containers
- Distribute your app across a cluster
- Stack services by adding a backend database
- Deploy your app to production