List Images
Show all local Docker images.
docker images
Alternative command:
docker image ls
Show all images including intermediates:
docker images -a
Build Image
Build image from Dockerfile in current directory.
docker build -t <image-name>:<tag> .
Build with specific Dockerfile:
docker build -f Dockerfile.prod -t my-app:latest .
Build with build arguments:
docker build --build-arg VERSION=1.0 -t my-app .
Build without cache:
docker build --no-cache -t my-app .
Pull Image
Download image from registry.
docker pull <image-name>
Pull specific version:
docker pull ubuntu:20.04
Pull from private registry:
docker pull registry.example.com/my-image:tag
Tag Image
Create a tag for an image.
docker tag <source-image> <target-image>:<tag>
Example:
docker tag my-app:latest myregistry/my-app:v1.0
Push Image
Upload image to Docker registry.
docker push <image-name>:<tag>
Example:
docker push myusername/my-app:latest
Remove Image
Delete image from local system.
docker rmi <image-id>
Force remove:
docker rmi -f <image-id>
Remove multiple images:
docker rmi image1 image2 image3
Remove all unused images:
docker image prune -a
Image History
Show history of image layers.
docker history <image-name>
Show without truncation:
docker history --no-trunc <image-name>
Inspect Image
View detailed image information.
docker inspect <image-name>
Get specific field:
docker inspect --format='{{.Architecture}}' <image-name>
Save Image
Export image to tar archive.
docker save -o image.tar <image-name>
Alternative syntax:
docker save <image-name> > image.tar
Load Image
Import image from tar archive.
docker load -i image.tar
Alternative syntax:
docker load < image.tar
Search Images
Search Docker Hub for images.
docker search <term>
Limit results:
docker search --limit 10 nginx
Prune Images
Remove unused images.
docker image prune
Remove all unused images:
docker image prune -a
Image Size
Show image sizes.
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
Create Image from Container
Commit container changes to new image.
docker commit <container-id> <new-image-name>
With message and author:
docker commit -m "Added feature" -a "Author" <container-id> my-image:v2