Scripting Docker with Golang

When it comes to operating and administrating Docker, we could do everything by controlling the cluster via the docker CLI using the jq command. Another powerful and very flexible way is to control the cluster via scripting. The most suitable programming language for scripting Docker cluster is, of course, Golang.

Why not Python? How could Golang, a statically compiled language, come to fit scripting?

  • First, Go is the language that Docker is written in. The Docker library written in the Go language is the same piece of codes used by Docker itself. So, the scripts written using this library will be naturally in high quality and greatly reliable.
  • Second, the language constructs and the idioms fit the way Docker works. For example, the Go programming language has the channel construct and it fits nicely for processing event messages emitted by the Docker cluster.
  • Third, the Go compiler is incredibly fast. Also, once all related libraries get compiled, the compilation time is greatly reduced. We can normally use it to run scripts just like other scripting language interpreters.

In this section, we will discuss how to use scripts written in Golang to control Docker directly via its API. This will become a powerful tool for taking care of running the cluster.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset