Skip to content
O'Reilly home
Learning Path

Building Containers from Scratch with Go

Time to complete: 1h 52m

Published byO'Reilly Media, Inc.

CreatedMay 2018

Containers are one of the hottest trends in the IT industry today, and this learning path will take you through the basics of building them from scratch and help you to decide whether containers are right for your Go code. Intended for the intermediate-level Go developer, you’ll begin by learning the basics of containers and orchestration and how they relate to your Go code. You’ll use hands-on exercises to learn how to build a container from scratch in Go. You’ll also learn how to make containers in your Go projects that work with other components. Finally, you’ll see how to make the best use of Docker in your Go container projects.

Using both text and video, host Liz Rice skillfully shows you how to build containers from the ground up. When you’re finished, you’ll be able to make the best use of containers for your Go code.

What you’ll learn—and how you can apply it

  • Foundational concepts of containers, images, and orchestration
  • The benefits of using containers for your Go development and production projects
  • The advantages of images and orchestration and how they affect you as a Go developer
  • Look at the differences between a virtual machine and a container
  • How to containerize the Go code on which you’re currently working
  • How to build a container from the scratch image, and why that's a good idea for Go code
  • How to connect your Go application to other components running in containers, regardless of whether your Go code is itself containerized

This learning path is for you because…

  • You are an intermediate-level developer with basic knowledge about containers and you need to understand what’s happening under the hood
  • You’re a Go programmer considering how to introduce Docker containers into your workflow
  • You've heard of containers, but you're not sure whether they're right for your project or how you would use them in your daily workflow
  • You’d like to understand how to connect containers together in your development environment


  • You should be comfortable with the command line
  • You should be at ease compiling Go executables by using go build

Materials or downloads needed in advance:

  • You’ll need your favorite code editor
  • You must have Docker installed
  • You must have Go and all its tools installed