Getting Started with Containers
Docker has revolutionized the way we develop, ship, and run applications by simplifying containerization. As a developer or system administrator, mastering Docker’s key commands is crucial for effective container management. Whether you’re just starting or looking to enhance your Docker skills, this guide will walk you through essential Docker commands to help you streamline your container workflow.
1. docker run
The docker run
command is your entry point to launching containers. You provide an image name, and Docker creates a new container from that image. Here’s a real-world example:
docker run -d --name my-nginx -p 80:80 nginx
-d
: Runs the container in detached mode.--name my-nginx
: Assigns a custom name to the container.-p 80:80
: Maps port 80 on your host to port 80 in the container.nginx
: The name of the image to run.
2. docker ps
To see which containers are running, use docker ps
:
docker ps
This command lists all running containers along with useful information like container IDs, names, ports, and more.
3. docker stop and docker start
You can stop and start containers with docker stop
and docker start
:
docker stop my-nginx docker start my-nginx
These commands halt and restart your container, respectively.
4. docker exec
The docker exec
command lets you run commands inside a running container:
docker exec -it my-nginx bash
This example opens an interactive shell inside the “my-nginx” container, which is particularly useful for debugging and maintenance tasks.
5. docker build
Building custom Docker images is common. Use docker build
with a Dockerfile:
docker build -t my-custom-image .
This command builds a new image tagged as “my-custom-image” from the current directory’s Dockerfile.
6. docker pull
To fetch Docker images from Docker Hub or other registries, use docker pull
:
docker pull ubuntu
This command downloads the official Ubuntu image from Docker Hub.
7. docker-compose
Docker Compose simplifies the management of multi-container applications. Here’s a basic docker-compose.yml
file:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: postgres
Run your multi-container app with:
docker-compose up
8. docker logs
To view container logs, use docker logs
:
docker logs my-nginx
This command provides insights into your container’s output, making debugging easier.
9. docker volume
Persistent data storage is crucial. Create a Docker volume with docker volume create
:
docker volume create my-data
Then, mount it when running a container:
docker run -d -v my-data:/app/data my-app
This ensures data persists even if the container is removed.
10. docker network
Docker networks enable communication between containers. Create a custom network like this:
docker network create my-network
Then, run containers on the same network:
docker run -d --network my-network --name app1 my-app1 docker run -d --network my-network --name app2 my-app2
This allows “app1” and “app2” containers to communicate.
Mastering these Docker commands and concepts will empower you to efficiently manage and deploy your containers in real-world scenarios. Docker’s flexibility and power make it an essential tool in modern software development and deployment workflows.
[…] Find out about the Docker key commands: https://devopstipstricks.com/mastering-docker-essential-key-commands-with-real-world-examples/ […]