Docker-A Hands-on Session

Docker-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