Docker Carpentry: Glossary

Key Points

Introduction to Docker
  • Docker is …

  • Images …

  • Containers …

Running Docker images
  • Docker Hub is a repository of prebuilt Docker images

  • docker run always creates a new container

  • docker ps lists containers

  • docker logs will fetch application logs in a well-designed container

  • When developing or testing docker exec and docker cp may be useful

Creating new Docker images
  • A Dockerfile is a set of instructions for building a Docker image

  • Convert a Dockerfile into an image using docker build

  • docker build has a built-in cache to greatly speed up builds

Run an OMERO client in Docker
Storing data Docker volumes
Run OMERO.web in Docker
Pulling and pushing to Docker Hub
  • Use docker tag to tag an image with the Docker Hub name before pushing with docker push

Official OMERO images
  • Use docker networks to isolate an application, and to provide name-based lookups

  • The official OMERO Docker images can be configured by defining environment variables to set most omero properties

  • The OMERO.server image magically takes care of initialising and upgrading the database

  • Use Docker volumes to store persistent data such as the OMERO database and data directory

Orchestration with Docker Compose
Is docker web-scale?
  • Scaling Docker in production is complicated

Glossary

The glossary would go here, formatted as:

{:auto_ids}
key word 1
:   explanation 1

key word 2
:   explanation 2

({:auto_ids} is needed at the start so that Jekyll will automatically generate a unique ID for each item to allow other pages to hyperlink to specific glossary entries.) This renders as:

key word 1
explanation 1
key word 2
explanation 2