Building custom Docker images
You can use DataStax source code to build a custom Docker image for your environment.
Build an image
DataStax provides a code repository on Github for building custom Docker images. To build an image, do the following steps:
Clone the DataStax Docker Github repository.
Make any desired configuration changes.
By default, Gradle downloads the DataStax tarballs from the DataStax Downloads page.
End User License Agreement (EULA). By downloading this DataStax product, you agree to the terms of the EULA.
To build a product image for a specific version, invoke a Grade task that follows this pattern:
Build all images
To build all images, run the following command, entering your DataStax Academy credentials for username and password.
To build more than one image with specific versions:
./gradlew buildServer6.0.6Image buildOpscenter6.5.0Image
To get the list of all available tasks, run:
Build multiple product versions
To support multiple product versions without duplicating files, Docker build contexts are generated from source folders that contain FreeMarker templates (files with
The following conventions are used:
Docker build contexts are generated from self-describing product folders. For example,
All files without the
.ftlextension are copied to the build context.
.ftlextensions are processed as FreeMarker templates:
Template directives are written using angle bracket syntax.
Square bracket syntax is used for interpolations.
The processed files are copied to the build context without
.ftlextension. For example,
Dockerfile.ftlis copied as
FreeMarker templates use the
version.majorreturns product version major number
version.minorreturns product version minor number
version.bugfixreturns product version bugfix number
The following version functions are available:
versionis semantically lower than
versionis semantically greater than or equal to
To customize the products or to use multiple product versions, modify the templates in their corresponding product folder.