Chapter 5. Container Image with Go Toolset for RHEL 7
The Go Toolset is available as a container image which can be downloaded from Red Hat Container Registry.
5.1. Image Contents
The devtools/go-toolset-rhel7 image provides content corresponding to the following packages:
| || |
5.2. Access to the Image
To pull the devtools/go-toolset-rhel7 image, run the following command as root:
# podman pull registry.access.redhat.com/devtools/go-toolset-rhel7
5.3. Usage as Builder Image with Source-to-Image
The Go Toolset container image is prepared for use as a Source-to-Image (S2I) builder image.
To do so, set the following build environment variables:
Set this variable to a URL specifying the location of the code. The rules for the
go getcommand option apply.
Set this variable to a URL specifying the location of the package that will provide the application’s main executable file when built. The rules for the
go installcommand option apply.
This variable can be omitted if the main package location is identical with the location specified by the
Example 5.1. Building a Go Application Image Using Source-to-Image
To build the md2man package from its GitHub repository:
$ s2i build -e IMPORT_URL='github.com/cpuguy83/go-md2man' -e INSTALL_URL='github.com/cpuguy83/go-md2man' git://github.com/cpuguy83/go-md2man registry.access.redhat.com/devtools/go-toolset-rhel7 md2man-app
A locally available application image md2man-app is built from the repository on GitHub using the go-toolset-1.11 container image.
To fully leverage the Go Toolset as a S2I builder image, build custom images based on it, with modified S2I assemble scripts and further modifications to accomodate the particular application being built.
A detailed description of the Go Toolset usage with Source-to-Image is beyond the scope of this book. For more information about Source-to-Image, refer to the OpenShift Container Platform 3.7 Image Creation Guide, Chapter 4. S2I Requirements and Using Red Hat Software Collections Container Images, Chapter 2. Using Source-to-Image (S2I).
5.4. Additional Resources
- Go Toolset container image - entry in the Red Hat Container Catalog
- Using Red Hat Software Collections Container Images