Docker

This page is a collection of various Docker commands and resources. For more info, read the Docker Documentation. To learn what Docker is, the official Docker Overview is an excellent resource.

Containers

# list
docker ps -a
 
# list running
docker ps --filter status=running

# stop all
docker stop $(docker ps -a -q)

# remove all
docker rm $(docker ps -a -q)

# remove
docker rm [CONTAINER ID]

# remove associated data volumes
docker rm -v [CONTAINER ID]

# logs
docker logs [CONTAINER ID]

# shell into
docker exec -it [CONTAINER ID] sh

Images

# list
docker images -a

# remove image
docker rmi [IMAGE ID]

# remove dangling images
docker rmi $(docker images -q -f dangling=true)

# remove all images
docker rmi $(docker images -a -q)

# save image
docker save -o myimage.tar myimage:latest

# load image into docker
docker load -i myimage.tar
  • Docker save / load handy for deploying an image build to a server. e.g., copy the image .tar file to server using scp and then load it into Docker.

Volumes

# list
docker volume ls

# remove volume
docker volume rm [VOLUME NAME]

# remove all volumes
docker volume rm $(docker volume ls -q)

# list dangling volumes
docker volume ls -f dangling=true

# remove dangling volumes (1.13+)
docker volume prune

System

# docker disk usage
docker system df

# system-wide info 
docker system info

# real time server events
docker system events

# removes
# - all stopped containers
# - all networks not used by at least one container
# - all dangling images
# - all build cache
docker system prune

Docker Compose

# shell access to any container
docker-compose exec [SERVICE] sh

# using user www-data (82) for Nginx and PHP containers
docker-compose exec --user=82 php sh

Resources for Docker Management

  • >dockly_
    Immersive terminal interface for managing docker containers and services
  • MicroBadger
    Inspect container images and their metadata
  • Portainer
    Portainer is an open-source lightweight management UI which allows you to easily manage your Docker hosts or Swarm clusters.

Other Resources

Convert docker run commands into docker-compose blocks with composerize.com


Adobe Experience Manager Docker configuration for author, publisher and dispatcher.

aem-docker

clean-docker-for-mac.sh

Drupal Dev Environment

Drupal Composer project mounted as a volume in a Docker container. Features include Drush, Drupal Console, mailhog and phpMyAdmin. A Docker-sync configuration is available for OS X.

Docker Drupal Dev Environment – Drupal Composer

Laravel Dev Environment

Building a local Laravel development environment with Docker. Included are examples for debugging Laravel’s PHP with Xdebug using the Visual Studio Code editor. Source Code available on GitHub. Read More

WordPress Dev Environment

This version documents how to use Docker for a local WordPress development environment with Traefik and how to deploy it to an Ubuntu Linux server running docker.

WordPress from Development to Production using Docker

This version documents a local development environment for WordPress using nginx-proxy, Docker and Docker Compose. Aside from making the container configuration easier to understand, Docker Compose coordinates the creation, start and stop of the containers used together in this environment.

Docker WordPress Dev Environment – Xdebug with VS Code