The Center for Technology Innovation sponsors a series of day-long workshops on cutting-edge technology issues with nationally-known speakers. Open to the public, the $165 registration fee includes handouts, breaks, lunch, and parking in the UWM Union parking structure. Discounted rate is available for UWM MIS/ITM alumni for $145.

Build Once, Run Anywhere – with Docker and Dockerfiles
Friday, February 22, 2019
8:30 am – 4:30pm
Lubar Hall, N333

Workshop presenter, Raju Gandhi, is a programmer, consultant, speaker, trainer, and all-around nice guy. He has worked in the software industry for over 15 years and has experience in both government and private sectors. Raju is a practitioner of both Agile and DevOps methods as well as good programming and architectural patterns and believes that finding the right balance between such practices will allow us to deliver software that our customers cherish. He is also a strong advocate of functional programming and a proponent of immutability across both software and hardware. Raju is a regular speaker at conferences around the country (and occasionally around the world) and has routinely participated in the No Fluff, Just Stuff tour. In his spare time, you will find Raju reading, playing with technology, or spending time with his wonderful (and significantly better) other half.


It is hard to be a developer today and not have heard about containers, and in particular Docker. If you are looking to start with Docker, then this is the workshop for you.

Docker allows developers to package their applications into fully self-contained “packages,” which include specific versions of your runtime, as well any and all libraries that your application needs. You can think of Docker as a shipping container for built binaries, freeing you, the developer from wondering if the bug you are seeing in production is because of an environmental issue, or your code.

In this workshop, we will start with the question — What are containers? We will learn how to use Docker, and the associated command line client. We will create, start, stop, and destroy containers enough times for you to be both proficient with the client as well as understand how to work with containers.

At the end of this workshop, you will be well versed with how to use Docker for day-to-day development, and will leave with enough pointers to start thinking about how you can leverage Docker and containers in the next step of your DevOps journey.

Who should attend:

  • Developers looking to leverage Docker as a deployment target to achieve hermetic builds
  • Developers working with a multitiered architecture (layered, service-based, micro services) and who seek to find a better and consistent mechanism to spin up a development environment with little fuss
  • Build engineers looking to optimize their build pipelines by using containers to test/build code and produce production-grade Docker images

The topics you will learn are:

    • Introduction – Why use containers? How docker works; VMs vs containers; and Understanding the docker workflow Docker images/containers/registry.
    • Using the Docker CLI – Listing containers/images/volumes/networks; Starting/stopping/restarting/pausing/killing containers; and Cleaning up.
    • Docker networking – Exposing container ports to the network; Linking containers using docker link; and Using docker network to allow inter-component communication.
    • Docker data/state management – Sharing data between host/container using volume mounts and Using Docker volume to share data between containers.
    • Dockerfiles – Why Dockerfiles? Understanding the Union File System Using the docker cache; Writing Dockerfiles; and Writing our first Dockerfile.


Recent workshops have included:

  • Hands-On Machine Learning
  • Blockchain
  • Azure IoT Suite
  • Applications on Kubernetes
  • Building Native Mobile Apps with Angular and Typescript
  • Microservices Architecture and Design
  • Building Evolutionary Architectures
  • Test Driven Development in Java using JUnit 5
  • Functional Programming in Swift
  • Angular 2/4 Hands-on Programming Codecamp
  • Six Essential Soft-Skills for the Technology Professional

To automatically receive information on upcoming workshops, please click here to request being added to our mailing list. 


The Center also sponsors panel discussions with IT leaders who present their thoughts on topics of interest to the local IT community. Audience participation follows the presentation.

For More Information

Dr. Atish Sinha
Director, Center for Technology Innovation
Professor, Information Technology Management
Lubar Hall N363
(414) 229-3301