Customization of base images¶
Warning
This requires knowledge of Docker concepts and skills in creating custom Dockerfiles.
When building the base image with
./bin/dssadmin build-base-image --type container-exec
a default base image is created with support for R and a wide range of Python versions.
Some options may be configured.
Setting a proxy¶
You can set the proxy to use to build with --http-proxy and --no-proxy to set the http_proxy and no_proxy environment variables.
Adding system packages¶
There are cases where you would want to install additional system packages, generally because they are required by your code environments.
For that, add --system-packages package1,package2,package3
Add a Dockerfile fragment¶
You may want to add custom Dockerfile commands. For that, use --dockerfile-prepend PATH_TO_FILE or --dockerfile-append PATH_TO_FILE.
The prepended Dockerfile is added just after the FROM. The appended Dockerfile is added at the very end of the Dockerfile.
To add a file to the build context, to make the file available to use in Dockerfile commands added via fragment, use --copy-to-buildenv absolute/path/file.name file.name.
Completely custom Dockerfile¶
For cases not covered, the generic process would be:
Build a base image with the regular DSS mechanisms.
Write a custom Dockerfile that starts from the built base image, and add the required package.
Build this custom Dockerfile, optionally outputing a custom tag.
Is using a custom tag, enter this custom tag in the DSS image build configuration.
Warning
After each upgrade of DSS, you must rebuild all base images, including custom ones.