Useful Docker Commands

March 21, 2018

Every now and then you just need a good reference

Docker Machine

docker-machine commands aren’t needed if using the GUI toolkit, but where’s the fun in that?

# Start VM
docker-machine start
# Stop VM
docker-machine stop
# Display Docker client setup commands
docker-machine env


# List Docker CLI commands
# Get help on a specific command
docker <command> --help
# Pull image from Docker Hub
docker pull <Name of Image>
# Show all images
docker images
# Remove specific images
docker rmi <ImageID>
# Show all containers based on Docker env config
docker ps -a
# Remove specific container
docker rm <ContainerID>
# Remove all containers
docker rm $(docker ps -a -q)
# Formatted list of containers
docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}'
# Run a container in daemon mode bound to specified port
docker run -d --name <Container Name> -p <External Port:Container Port> <Your Image>
# Build an image from a Dockerfile located in the current directory
docker build -f <Your Dockerfile> -t <Tag Name> .
# Login using your Docker Hub credentials
docker login
# Push an image to Docker hub
docker push <Your Image Name>

Docker Compose

# Build images based on docker-compose
docker-compose build
# Start in daemon mode
docker-compose up -d
# Show logs from containers | useful in daemon mode
docker-compose logs
# Start containers based on docker-compose.yml
docker-compose up
# Rebuild and deploy just the container that needs updating
docker-compose up -d --no-deps --build <service_name>
# Start containers using docker-compose file in another directory
docker-compose -f <Filepath> up
# Stop containers but dont remove them
docker-compose stop
# Stop and remove containers | CTRL+C/CMD+C can also be used but this is safer
docker-compose down

Marcus Lyons