How to Restart Docker Containers
If you’re working with Docker containers, there may come a time when you need to restart one or more of them—perhaps to apply configuration changes or resolve an issue. In this guide, we’ll walk through how to restart containers individually or as a group. We’ll also include examples using sample container names and IDs for reference.
Restarting a Single Container
To restart a single Docker container, use the docker restart
command followed by the container’s name or ID. For example:
docker restart my_app_container
This command stops the container and immediately starts it again. It’s a quick way to refresh the container without removing it.
Example:
If your container is named web_app_1
, the command would look like this:
docker restart web_app_1
If you prefer to use the container ID, find it by running:
docker ps
You’ll see an output like this:
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES
abc12345def6 nginx:latest "nginx -g 'daemon of…" Up 3 hours 0.0.0.0:80->80/tcp web_app_1
Then restart using the container ID:
docker restart abc12345def6
Restarting Multiple Containers
You can restart multiple containers in one command by listing their names or IDs:
docker restart container1 container2 container3
Example:
Suppose you have three containers named api_service
, db_service
, and cache_service
. You can restart them all at once with:
docker restart api_service db_service cache_service
Alternatively, use their container IDs:
docker restart 123abc 456def 789ghi
Restarting Containers in a Docker Compose Setup
If your containers are managed via Docker Compose, restarting all services is straightforward. Navigate to the directory containing the docker-compose.yml
file and run:
docker-compose restart
This will restart all containers defined in your Compose file. If you want to restart a specific service, specify its name:
docker-compose restart service_name
Example:
If you have services defined as web
, database
, and redis
in your Compose file, restart them all with:
docker-compose restart
Or restart only the database
service:
docker-compose restart database
Checking the Status of Containers
After restarting, confirm that your containers are running with the docker ps
command:
docker ps
This command lists all running containers, showing their names, IDs, and statuses. For example:
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES
abc12345def6 nginx:latest "nginx -g 'daemon of…" Up 5 minutes 0.0.0.0:80->80/tcp web_app_1
Conclusion
Restarting Docker containers is a simple yet powerful operation that can resolve common issues or apply updates. Whether you’re working with individual containers or managing a fleet through Docker Compose, these commands give you the control you need to keep your environment running smoothly.