Following are a number of my commonly used docker commands for my own reference
Building
Run the following in the same directory in which your Dockerfile
resides
docker build -t <image-name>:<version> .
Or you can specify the path to the Dockerfile
docker build . -t <image-name>:<version> -f /path/to/Dockerfile
Running
Run a container interactively
Especially useful when debugging commands that you will encapsulate in a Docker file, this will enable you to run a base image and then execute commands interactively without having to continuously run docker build .
to test things out. Note the -u root
to start the interactive session as the root user. If you just want to get on the container and look around you can omit this argument.
docker run -it -u root <image:tag> <shell-in-image>
Copy files to and from a running container
Assuming that you already have the container running, first run docker ps
to get the id of the container
# Copy file from local file system into the container
docker cp <file-path> <container-id>:<target-path-in-container>
# Copy file from container to local file system
docker cp <container-id>:<target-path-in-container> <file-path-on-local-filesystem>
Purging images and volumes
Remove all unused or dangling images, containers, and networks. The -a
will remove any stopped containers and unused images
docker system prune [-a]
To remove dangling volumes you must run a docker volume rm <volume-name>
for each volume you want to remove. Running docker volume prune
does not remove unused volumes.