Let’s look at some of the most popular Docker command examples.
Build Commands
Docker uses the build command for building images from a Docker file. Some of the most common commands include:
| Command | Description |
|---|---|
| docker build | Builds an image from a Dockerfile in the current directory. |
| docker build https://github.com/docker/rootfs.git#container:docker | Builds an image from a remote GIT repository. |
| docker build -t imagename/tag | Builds and tags an image for easier tracking. |
| docker build https://yourserver/file.tar.gz | Builds an image from a remote tar archive. |
| docker build -t image:1.0-<<EOFFROM busyboxRUN echo “hello world”EOF | Builds an image via a Dockerfile that is passed through STDIN. |
Clean Up Commands
To keep your system clean and save disk space, it’s a great idea to clean up unused images, containers, and volumes. Check the commands below for more details:
| Command | Description |
|---|---|
| docker image prune | Clears an unused image. |
| docker image prune -a | Clears all images that are not being used by containers. |
| docker system prune | Removes all stopped containers, all networks not used by containers, all dangling images, and all build cache. |
| docker image rm image | Removes an image. |
| docker rm container | Removes a running container. |
| docker swarm leave | Leaves a swarm. |
| docker stack rm stackname | Removes a swarm. |
| docker volume rm $(docker volume ls -f dangling=true -q) | Removes all dangling volumes. |
| docker rm $(docker ps -a -q) | Removes all stopped containers. |
| docker kill $ (docker ps -q) | Stops all running containers. |
Container Interaction Commands
Interact with your Docker container with the following common commands:
| Command | Description |
|---|---|
| docker start container | Starts a new container. |
| docker stop container | Stops a container. |
| docker pause container | Pauses a container. |
| docker unpause container | Unpauses a container. |
| docker restart container | Restarts a container. |
| docker wait container | Blocks a container |
| docker export container | Exports container contents to a tar archive. |
| docker attach container | Attaches to a running container. |
| docker wait container | Waits until the container is terminated and shows the exit code. |
| docker commit -m “commit message” -a “author” container username/image_name: tag | Saves a running container as an image. |
| docker logs -ft container | Follows container logs. |
| docker exec -ti container script.sh | Runs a command in a container. |
| docker commit container image | Creates a new image from a container. |
| docker create image | Creates a new container from an image. |
Container Inspection Commands
Sometimes, you need to inspect your containers for quality assurance or troubleshooting purposes. These commands help you get an overview of what different containers are doing:
| Command | Description |
|---|---|
| docker ps | Lists all running containers. |
| docker -ps -a | Lists all containers. |
| docker diff container | Inspects changes to directories and files in the container filesystem. |
| docker top container | Shows all running processes in an existing container. |
| docker inspect container | Displays low-level information about a container. |
| docker logs container | Gathers the logs for a container. |
| docker stats container | Shows container resource usage statistics. |
Manage Images Commands
Some of the most common image management commands include:
| Command | Description |
|---|---|
| docker image ls | Lists images. |
| docker image rm mysql | Removes an image. |
| docker tag image tag | Tags an image. |
| docker top container | Shows all running processes in an existing container. |
| docker history image | Displays the image history. |
| docker inspect image | Displays low-level information about an image. |
Run Commands
Docker uses the run command to create containers from provided images. The default syntax for this command looks like this:
docker run (options) image (command) (arg…)
After the default syntax, use one of the following flags:
| Flag | Description |
|---|---|
| –detach , -d | Runs a container in the background and prints the container ID. |
| –env , -e | Sets environment variables. |
| –hostname , -h | Sets a hostname to a container. |
| –label , -l | Creates a meta data label for a container. |
| –name | Assigns a name to a container. |
| –network | Connects a container to a network. |
| –rm | Removes container when it stops. |
| –read-only | Sets the container filesystem as read-only. |
| –workdir , -w | Sets a working directory in a container. |
Registry Commands
If you need to interact with Docker Hub, use the following commands:
| Command | Description |
|---|---|
| docker login | Logs in to a registry. |
| docker logout | Logs out from a registry. |
| docker pull mysql | Pulls an image from a registry. |
| docker push repo/ rhel-httpd:latest | Pushes an image to a registry. |
| docker search term | Searches Docker Hub for images with the specified term. |
Service Commands
Manage all Docker services with these basic commands:
| Command | Description |
|---|---|
| docker service ls | Lists all services running in a swarm. |
| docker stack services stackname | Lists all running services. |
| docker service ps servicename | Lists the tasks of a service. |
| docker service update servicename | Updates a service. |
| docker service create image | Creates a new service. |
| docker service scale servicename=10 | Scales one or more replicated services. |
| docker service logs stackname servicename | Lists all service logs. |
Network Commands
If you need to interact with the Docker network, use one of the following commands:
| Command | Description |
|---|---|
| docker network create networkname | Creates a new network. |
| docker network rm networkname | Removes a specified network. |
| docker network ls | Lists all networks. |
| docker network connect networkname container | Connects a container to a network. |
| docker network disconnect networkname container | Disconnects a container from a network. |
| docker network inspect networkname | Displays detailed information about a network. |
