Docker container commands

Here’s a comprehensive guide to Docker container commands with explanations and examples. I’ll organize them by category so it’s easy to reference.


1. Running Containers

CommandPurposeExample
docker run <image>Run a container from an imagedocker run nginx
docker run -d <image>Run container in detached mode (background)docker run -d nginx
docker run -it <image>Run container interactively with terminaldocker run -it ubuntu bash
docker run --name <name> <image>Assign a custom namedocker run --name mynginx -d nginx
docker run -p <host>:<container> <image>Map ports from host to containerdocker run -p 8080:80 nginx
docker run -v <host>:<container> <image>Mount a volumedocker run -v $(pwd):/app -it ubuntu bash
docker run --rm <image>Remove container after exitdocker run --rm ubuntu echo "Hello"
docker run --env <VAR>=<value> <image>Set environment variablesdocker run -e ENV=dev ubuntu env

2. Listing Containers

CommandPurposeExample
docker psList running containersdocker ps
docker ps -aList all containers (running + stopped)docker ps -a
docker ps -qList only container IDsdocker ps -q

3. Managing Containers

CommandPurposeExample
docker start <container>Start a stopped containerdocker start mynginx
docker stop <container>Stop a running containerdocker stop mynginx
docker restart <container>Restart containerdocker restart mynginx
docker pause <container>Pause container processesdocker pause mynginx
docker unpause <container>Resume paused containerdocker unpause mynginx
docker kill <container>Kill container immediatelydocker kill mynginx
docker rm <container>Remove containerdocker rm mynginx
docker rm -f <container>Force remove running containerdocker rm -f mynginx
docker rename <old> <new>Rename a containerdocker rename mynginx nginx1

4. Accessing & Executing in Containers

CommandPurposeExample
docker exec -it <container> <command>Run a command in a running containerdocker exec -it mynginx bash
docker attach <container>Attach terminal to a running containerdocker attach mynginx
docker logs <container>View logs of a containerdocker logs mynginx
docker logs -f <container>Stream logs in real-timedocker logs -f mynginx
docker top <container>Show running processes inside containerdocker top mynginx
docker stats <container>Real-time resource usagedocker stats mynginx

5. Inspecting Containers

CommandPurposeExample
docker inspect <container>Detailed JSON infodocker inspect mynginx
docker diff <container>Show changes in filesystemdocker diff mynginx
docker port <container>Show port mappingsdocker port mynginx

6. Copying Files

CommandPurposeExample
docker cp <src> <container>:<dest>Copy from host to containerdocker cp index.html mynginx:/usr/share/nginx/html/
docker cp <container>:<src> <dest>Copy from container to hostdocker cp mynginx:/usr/share/nginx/html/index.html ./

7. Committing & Exporting Containers

CommandPurposeExample
docker commit <container> <image>Save container state as new imagedocker commit mynginx mynginx:v1
docker export <container> -o file.tarExport container filesystem as tardocker export mynginx -o nginx.tar
docker import <file.tar> <image>Import tar as imagedocker import nginx.tar mynginx:imported

8. Cleaning Up Containers

CommandPurposeExample
docker container pruneRemove all stopped containersdocker container prune
docker rm $(docker ps -aq)Remove all containersdocker rm $(docker ps -aq)

Tips for Working with Containers

  1. Use --name for easy reference instead of container ID.
  2. Always clean stopped containers (docker container prune) to save space.
  3. Use docker exec -it to debug running containers instead of starting a new one.
  4. Map host ports carefully to avoid conflicts (-p).
  5. For dev, use --rm to automatically remove containers when done.

Leave a Reply