How to Containerize Your Go Code

Introduction and Motivations

Learning about containers is a bit like learning about Linux or learning about Go: it’s potentially a huge topic! But everyone has to begin somewhere. This lesson will give you an introduction to some of the key concepts of containers and walk you through some examples of using Docker containers with Go code.

Example Code

There is example code throughout this lesson. If you’d like to try it out for yourself, the easiest way is to download the code with by using the go get command, as follows:

$ go get github.com/lizrice/hello-container-world/...

Using Docker

If you’ve never used Docker before, good instructions are available for installing it and verifying that everything is set up correctly. After you’ve done that, you’ll be ready to work through the examples in this lesson.

Note

Docker 1.13 reorganized the command-line interface (CLI) to refer to objects (e.g., docker image build instead of docker build). As of this writing, the older versions work as aliases, but it is more future-proof to get used to the new style.

What Is a Container?

Containers let you isolate an application so that it’s under the impression it’s running on its own private machine. In that sense, a container is similar to a virtual machine (VM), but it uses the operating system kernel on the host rather than having its own.

You start a container from a container image, which bundles up everything that the application needs to run, including ...

Get How to Containerize Your Go Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.