Docker-A Hands-on Session
November 15, 2021 2024-09-17 3:38Docker-A Hands-on Session
Docker
It can package an application and its dependencies in a virtual container that can run on any Linux, Windows or macOS computer. It is a software platform that allows you to build, test, and deploy applications quickly.
Why use Docker
Using Docker lets you ship code faster, standardize application operations, seamlessly move code, and save money by improving resource utilization. With Docker, you get a single object that can reliably run anywhere. Docker’s simple and straightforward syntax gives you full control. Wide adoption means there’s a robust ecosystem of tools and off-the-shelf applications that are ready to use with Docker.
When to use Docker
You can use Docker containers as a core building block creating modern applications and platforms. Docker makes it easy to build and run distributed microservices architectures, deploy your code with standardized continuous integration and delivery pipelines, build highly scalable data processing systems, and create fully managed platforms for your developers.
Docker Session Outline:
S No | Topic | Duration |
1 | Introduction to Containerization and Docker | 60 Minutes |
2 | Installing Docker | 60 Minutes |
1) Installing on macOS | ||
2) Installing on Windows | ||
3) Installing on Linux | ||
3 | Hello World in Docker | 60 Minutes |
1) Container | ||
2) Image | ||
3) Registry | ||
4) Docker Architecture | ||
5) The Full picture | ||
4 | Container Manipulation Basics | 150 Minutes |
1) Running Containers | ||
2) Publishing Ports | ||
3) Detached Mode | ||
4) Listing Containers | ||
5) Naming or Renaming Containers | ||
6) Stopping or Killing a Running Container | ||
7) Restarting Containers | ||
8) Creating Containers Without Running | ||
9) Removing Dangling Containers | ||
10) Running Containers in Interactive Mode | ||
11) Executing Commands Inside a Container | ||
12) Working with Executable Images | ||
5 | Image Manipulation Basics | 120 Minutes |
1) Image Creation Basics | ||
2) Tagging Images | ||
3) Listing and Removing Images | ||
4) Understanding the Many Layers of an Image | ||
5) Building NGINX from Source | ||
6) Optimizing Images | ||
7) Embracing Alpine Linux | ||
8) Creating Executable Images | ||
9)Sharing Your Images Online | ||
6 | Containerizing a JavaScript Application | 150 Minutes |
1) Writing the Development Dockerfile | ||
2) Working with Bind Mounts | ||
3) Working with Anonymous Volumes | ||
4) Performing Multi-Staged Builds | ||
7 | Network Manipulation Basics | 120 Minutes |
1) Network Basics | ||
2) Creating a User-Defined Bridge | ||
3) Attaching Containers from a Network | ||
4) Detaching Containers from a Network | ||
5) Getting Rid of Networks | ||
8 | Containerizing a Multi-Container JavaScript Application | 150 Minutes |
1) Setting Up the Custom Bridge Network | ||
2) Running the Database Server | ||
3) Working with Named Volumes | ||
4) Accessing Logs from a Container | ||
5) Attaching the Database Server | ||
6) Creating a Network and Attaching the Database Server | ||
7) Writing the Dockerfile | ||
8) Executing Commands in a Running Container | ||
9) Writing Management Scripts | ||
9 | Composing Projects using Docker-Compose | 200 Minutes |
1) Compose Basics | ||
2) Starting Services | ||
3) Listing Services | ||
4) Executing Commands Inside a Running Service | ||
5) Accessing Logs from a Runtime Service | ||
6) Stopping Services | ||
7) Composing a Full-Stack Application |