Docker Crash Course #3 - Images & Containers

3 min read 21 days ago
Published on Sep 13, 2024 This response is partially generated with the help of AI. It may contain inaccuracies.

Table of Contents

Introduction

In this tutorial, you will learn the fundamentals of Docker images and containers. Understanding these concepts is crucial for effective containerization in software development. This guide will walk you through key definitions, commands, and practical applications to help you get started with Docker.

Step 1: Understand Docker Images

  • Definition: Docker images are read-only templates used to create containers. They include everything needed to run an application, such as code, runtime, libraries, and environment variables.
  • Practical Advice:
    • Think of an image as a snapshot of a filesystem that will be used to create a container.
    • Images can be pulled from Docker Hub or created from a Dockerfile.

Step 2: Understand Docker Containers

  • Definition: Containers are instances of Docker images. They are lightweight, portable, and can run on any system that supports Docker.
  • Practical Advice:
    • Containers are isolated environments, meaning they run independently of the host system.
    • You can have multiple containers running from the same image.

Step 3: Pulling a Docker Image

  • Use the command:
    docker pull <image-name>
    
    • Replace <image-name> with the name of the image you want to download from Docker Hub.
  • Example: To pull the official Node.js image, run:
    docker pull node
    

Step 4: Listing Docker Images

  • Use the command:
    docker images
    
  • What this command does: It lists all the images currently on your local machine, showing their repository name, tag, and size.

Step 5: Running a Docker Container

  • Use the command:
    docker run <options> <image-name>
    
    • Common options include:
      • -d: Run container in detached mode (in the background).
      • -p <host-port>:<container-port>: Map a port from the host to the container.
  • Example: To run a Node.js container in detached mode and map port 3000, use:
    docker run -d -p 3000:3000 node
    

Step 6: Listing Running Containers

  • Use the command:
    docker ps
    
  • What this command does: It lists all currently running containers, showing their IDs, names, and status.

Step 7: Stopping a Container

  • Use the command:
    docker stop <container-id>
    
  • Tip: You can find the <container-id> from the output of the docker ps command.

Step 8: Removing a Container

  • Use the command:
    docker rm <container-id>
    
  • Practical Advice:
    • Ensure the container is stopped before attempting to remove it.
    • You can remove all stopped containers using:
      docker container prune
      

Conclusion

In this tutorial, you have learned the basics of Docker images and containers, including how to pull images, run containers, and manage them with essential commands. The next steps could involve creating your own Docker images with Dockerfiles or exploring Docker Compose for managing multi-container applications. For further learning, consider accessing resources like the Docker documentation or other courses provided by Net Ninja.