Core Docker commands

This section contains core Docker commands for running containers and pushing images to the CGC images registry.

👍

First make sure Docker is running

  • Mac OS 10.10.3 Yosemite or newer: run Docker Desktop for Mac and start a terminal of your choice.
  • Mac OS 10.8 Mountain Lion or newer: run Docker Quickstart terminal to start Docker Machine.
  • Windows 10: run Docker Desktop for Windows and start a terminal of your choice.
  • Windows 7 or 8: run Docker Quickstart Terminal to start Docker Machine.
  • Linux: no action required.
CommandEffect
$ docker login cgc-images.sbgenomics.comThis returns a prompt for your CGC credentials, and then, if satisfied, gives you access to the CGC registry. Don't forget to add cgc-images.sbgenomics.com to this command, or else the utility will attempt to log you in to the Docker Hub registry.

You should enter your authentication token in response to the password prompt, not your CGC password.
$ docker run -ti <image>This runs a Docker container on your local machine. <image> can be any image in Docker Hub or the CGC image registry that you have uploaded or have permission to access. The -ti flag makes the container run, interactively.

If you are opening an image from Docker Hub, specify <image> using <docker_repository>[:tag], e.g. ubuntu.
If you are opening an image from the CGC registry, <image> should be specified using the format cgc-images.sbgenomics.com/<username>/<repository_name>/[:tag], e.g cgc-images.sbgenomics.com/rfranklin/samtools:v1.
$ docker ps -aThis lists all your Docker containers.
docker commit <container ID> cgc-images.sbgenomics.com/<username>/<repository_name>[:tag]This takes an image (snapshot) of the container with ID <container ID>, and names the image with the format recognised by the CGC registry.
You can find the container ID of an image using docker ps -a.
$ docker imagesThis lists all your local Docker images.
$ docker tag <image> cgc-images.sbgenomics.com/<username>/<repository_name>[:tag]This tags the image with a reference to
the CGC registry.
$ docker push cgc-images.sbgenomics.com/<username>/<repository_name>[:tag]This uploads your Docker image to the CGC registry. , so that the tool in it can be used on the CGC.
$ docker rmi cgc-images.sbgenomics.com/<username>/<repository_name>[:tag]This removes the specified Docker image from your local machine
$ docker pull cgc-images.sbgenomics.com/<username>/<repository_name>[:tag]This downloads the specified image from the CGC registry.
$ docker logout cgc-images.sbgenomics.comThis stops your connection to the CGC image registry.