Container Images¶
To ensure that processes execute efficiently and reliably—and without the need for custom or external infrastructure—Automation uses containers to package code, dependencies, and settings. Automation container nodes work by referencing container images that become containers at runtime.
Tip
Images, also known as container images, are read-only templates that contain instructions for creating a container. A container image is therefore the blueprint for a container node, where the blueprint is made of system libraries, tools, and settings.
Available container node images¶
DataKitchen provides a number of pre-built analytic container images that you can use directly, or as a base container to reference when building custom containers with tools and proprietary libraries. These images are hosted on Docker Hub.
Container base images are referenced in a container node's notebook.json file. See Container Node File Structure for more information.
The general purpose container (GPC)¶
The GPC has a standard configuration and several pre-installed tools to get you started quickly with recipe building.
| Image | Description |
|---|---|
| datakitchenprod/dk_general_purpose_container (Ubuntu version) | Use to run shell scripts, Python3 scripts, or Jupyter notebooks, or as a base or reference design to simplify custom container builds. Uses Python3 exclusively. Supports lists of parameters passed into container via config.json.Supports running scripts (.sh, .py, .jpynb) located in a node's /docker-share directory.The AC logger supports a subset of methods from the Python 3 logger. See GPC Logging for more information. For more information on how to use the GPC, see General Purpose Container. |
| datakitchenprod/dk_general_purpose_container (Amazon version) | Use to run shell scripts, Python3 scripts, or Jupyter notebooks, or as a base or reference design to simplify custom container builds. Derived from the Amazon Linux 2 (AL2) base image and runs as a non-root user. Pre-installed packages use Red Hat-specific names. Implemented using a different image tag from the standard GPC (Ubuntu) image. Uses Python3 exclusively. Supports lists of parameters passed into container via config.json.Supports running scripts (.sh, .py, .jpynb) located in a node's /docker-share directory.The AC logger supports a subset of methods from the Python 3 logger. See GPC Logging for more information. For more information on how to use the GPC, see General Purpose Container. |
Custom container images¶
Alternatively, users can leverage their own custom-built images for container nodes. In these cases, the node's notebook.json should include the following configuration:
"analytic-container": false,
"command-line": "[OPTIONAL COMMAND]"
Where the [OPTIONAL COMMAND] may be something like "/bin/bash -c \"echo 'Hello world' > output.txt\""
Custom image hosts¶
DataKitchen also provides support for alternative container image hosts. You can configure a connection to an alternative to Docker Hub by editing the Docker Registry URL field of a container node's notebook.json file. This is the dockerhub-url field in the raw JSON.
Example value: http://containerhosting.website.com:5000/
Container certificates¶
Customers using their own private signed certificates must add them to every container they want to use in Automation. Customers are responsible for maintaining their private certificates.