Chapter 5. Container images with Go Toolset
You can build your own Go Toolset containers from either Red Hat Enterprise Linux container images or Red Hat Universal Base Images (UBI).
5.1. Red Hat Enterprise Linux Go Toolset container images contents
The Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8 and Red Hat Enterprise Linux 9 container images of Go Toolset contain the following packages:
Component | Version | Package |
---|---|---|
| 1.19 | RHEL 7 — go-toolset-1.19.6 RHEL 8 — go-toolset-1.19.4 RHEL 9 — go-toolset-1.19.6 |
5.2. Accessing Red Hat Enterprise Linux container images
Pull the container image from the Red Hat registry before running your container and performing actions.
Procedure
To pull the required image, run:
For an image based on Red Hat Enterprise Linux 7:
# podman pull registry.redhat.io/devtools/go-toolset-rhel7
For an image based on Red Hat Enterprise Linux 8:
# podman pull registry.redhat.io/rhel8/go-toolset
For an image based on Red Hat Enterprise Linux 9:
# podman pull registry.redhat.io/rhel9/go-toolset
5.3. Accessing the UBI Go Toolset container image on RHEL 8
On RHEL 8, install the UBI Go Toolset container image to access Go Toolset.
Alternatively, you can install Go Toolset to the RHEL 8 base UBI container image. For further information, see Accessing Go Toolset from the base UBI container image on RHEL 8.
Procedure
To pull the UBI Go Toolset container image from the Red Hat registry, run:
# podman pull registry.access.redhat.com/ubi8/go-toolset
5.4. Accessing Go Toolset from the base UBI container image on RHEL 8
On RHEL 8, Go Toolset packages are part of the Red Hat Universal Base Images (UBIs) repositories, which means you can install Go Toolset as an addition to the base UBI container image. To keep the container image size small, install only individual packages instead of the entire Go Toolset.
Alternatively, you can install the UBI Go Toolset container image to access Go Toolset. For further information, see Accessing the UBI Go Toolset container image on RHEL 8.
Prerequisites
-
An existing Containerfile.
For information on creating Containerfiles, see the Dockerfile reference page.
Procedure
- To create a container image containing Go Toolset, add the following lines to your Containerfile:
FROM registry.access.redhat.com/ubi8/ubi:latest
RUN yum module install -y go-toolset
To create a container image containing an individual package only, add the following lines to your Containerfile:
RUN yum install -y <package-name>
-
Replace
<package-name>
with the name of the package you want to install.
-
Replace
5.5. Using container images as Source-to-Image builder images on Red Hat Enterprise Linux 7
You can use the Go Toolset container image as a Source-to-Image (S2I) builder image on Red Hat Enterprise Linux 7.
Procedure
-
Set the
IMPORT_URL
variable to a URL specifying the location of your code. -
To build your S2I builder image, run the
s2i build
command.
If the main package location is not identical with the location specified by the IMPORT_URL
variable, set the INSTALL_URL
variable to a URL that specifies the package location providing the application’s main executable file when built.
Additional resources
- The OpenShift Container Platform Image Creation Guide.
- For more information on using Source-to-Image (S2I), see Using Red Hat Software Collections Container Images.
5.6. Additional resources
- Go Toolset Container Images in the Red Hat Container Registry.
- Building Application Images Using Red Hat Software Collections Container Images.
- For more information on Red Hat UBI images, see Working with Container Images.
- For more information on Red Hat UBI repositories, see Universal Base Images (UBI): Images, repositories, packages, and source code.