Site logo
Authors
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Published on
Published on

Docker Part 3: Introduction to Docker Containers

Docker containers are the heart of the containerization revolution, providing a consistent and reproducible environment for your applications. In this guide, we'll delve into the world of Docker containers, exploring their functionality and introducing you to essential commands for managing them effectively.

1. What is a Docker Container?

A Docker container is a runnable instance of a Docker image. It encapsulates an application and its dependencies in an isolated environment, ensuring that it runs consistently across different systems.

2. Key Characteristics of Docker Containers

Isolation:

Containers run in isolated environments, preventing conflicts with the host system and other containers. This isolation ensures that applications behave consistently, regardless of where they are deployed.

Lightweight:

Containers share the host OS kernel, making them lightweight compared to traditional virtual machines. This leads to faster startup times and efficient resource utilization.

Portability:

Containers are portable across different environments. If it runs in one Docker environment, it will likely run the same way in another, reducing compatibility issues.

3. Common Docker Container Commands

Running Containers

To run a container, use the docker run command:

docker run -d --name <container_id> nginx
# E.g
docker run -d --name my-container nginx

This command runs an Nginx container in detached mode (-d) with the name my-container.

Listing Containers

View a list of running containers using:

docker ps
# List running containers and stopped containers
docker ps -a

This command displays the container ID, names, status, ports, and more.

Accessing the shell inside a running container

Access the shell inside a running container

docker exec -it <container_id> /bin/bash

This command opens an interactive shell (/bin/bash) in the <container_id>

Stopping Containers

Stop a running container with:

docker stop <container_id>

Restarting a stopped container

docker start <container_id>

Removing Containers:

# we can't remove a running container, ensure that the container is stopped
docker rm <container_id>

Inspecting Containers

docker inspect <container_id>

Container Logs:

View logs of a running container:

docker logs <container_id>

This command displays the logs generated by the <container_id>.

Conclusion

Docker containers empower developers by providing a consistent and reproducible environment. Understanding how to effectively manage containers is fundamental to maximizing the benefits of containerization.

In the upcoming part of our Docker series, we'll explore Docker Compose, a tool for defining and running multi-container Docker applications.

Stay tuned for more Docker insights, and happy containerizing! 🐳