Docker Lab, Excercise & Assignment – 1

Spread the Knowledge


  • Linux
  • OS X
  • Windows 7.1, 8 or newer BUT NOT Windows 10.


Docker Installation and Configuration

Pull commonly used images

The following images will be used during the workshop and may be pulled in advance to limit network usage.

  • debian – Official Debian Image
  • ubuntu – Official Ubuntu Image
  • scratch – Base image for other images, 0 bytes, no need to pull this
  • busybox – Minimal Linux distro, 2.5MB
  • node – Official Node.js image
  • redis – Official Redis image
  • mongo – Official Mongo image
  • postgres – Official Postgres image
  • jwilder/nginx-proxy – Nginx image with automatic proxy configuration of other containers.
  • andersjanmyr/counter – Counter web-service with support for multiple databases.

Pull all the images

 $ for i in debian ubuntu busybox node redis mongo postgres jwilder/nginx-proxy andersjanmyr/counter; do \
  docker pull $i

Running Containers

Use a simple throwaway container

In this section you will learn how to start and stop containers.

$ docker run -it --rm busybox /bin/sh  
  • docker run – Start a docker container.
  • -it – Interactive, pass stdin (-i) as a tty, pass signals (-t).
  • –rm – Remove the container once it is stopped.
  • busybox – A minimal docker image
  • /bin/sh – The command to run, start a shell.

Use a simple “persistent” container

$ docker run -it busybox /bin/sh  

Same as before, but no –rm to remove the container once you exit.

Run some commands, create a couple of files, then exit exit-command or Ctrl-D

# List all containers, including stopped  
$ docker ps --all    
# List all running containers  
$ docker ps    
# List all container IDs (-q quiet)  
$ docker ps --all -q    
# List latest (-l) container, including stopped  
$ docker ps -l    
# List ID of latest container  $ docker ps -l -q    
# Stop the last container  
$ docker stop $(docker ps -l -q)    
# Start and attach to the stopped container 
$ docker start -ia $(docker ps -l -q)    
# Exit the container, exit or Ctrl-D    
# List the container and remember its name.  
$ docker ps -a    
# List the logs of the container by name  
$ docker logs name-of-container   
# Remove the container  
$ docker rm $(docker ps -l -q) # Or use the name

Rajesh Kumar
Latest posts by Rajesh Kumar (see all)