Containerized Service
When you install the Spotfire Service for Python on a Linux computer, by default, it is configured to use a Docker® container. A containerized Spotfire Service for Python is available only for Linux installations.
- If you have not yet installed the Spotfire Service for Python, install Docker first, and then install Spotfire Service for Python.
- If you have already installed Spotfire Service for Python before installing Docker, then stop Spotfire Service for Python, install Docker, set the configuration to use Docker, and then restart Spotfire Service for Python.
The primary benefit of installing and using Spotfire Service for Python in a container is that it operates the service in a "sandbox", so the Python engine does not have access to the host file system. (For more information about script and data function trust, see the Spotfire® Analyst User's Guide). Running Spotfire Service for Python in a container results in negligible performance impact.
The only container framework with which we developed and tested Spotfire Service for Python is Docker. We do not provide Docker with the base installation; however, you must have Docker installed for Spotfire Service for Python to work properly out of the box. The service downloads and builds a default Docker image based on AlmaLinux:8.7 from Docker Hub. While you cannot modify the image we provide, you can build and use a different Docker image if you have different configuration requirements. This section contains a few examples of specifying different Docker images. Alternatively, check Docker Hub for an image that might work for you.
You can export and change the configuration options to build and install a customized image. See Configuring the Service for more information. The properties to change in the configuration are the following.
After you install and configure both the container and Spotfire Service for Python, you can start the service. When the service starts, containers are created as needed.
use.engine.containers
to
FALSE
to disable the container option.
- Configuring a custom Docker image on a node with internet access
If you have access to the internet, then you can build a Docker image for your Spotfire Service for Python, referencing it by its name and tag. - Configuring a custom Docker image on a node with no internet access
If your node manager does not have external access to the internet, then you can create a Docker image on an internet-enabled computer, and then transfer it to your node manager. - Configuring a custom startup script to build a custom Docker image
You can provide a startup script that is installed and configured on your Spotfire Server build a custom Docker image for your Spotfire Service for Python. - Pulling a custom Docker image from an authenticated repository
You can create a custom start script to configure Spotfire Service for Python to log in to a remote authenticated repository and pull a custom Docker image.
- Configuring a custom Docker image on a node with internet access
If you have access to the internet, then you can build a Docker image for your Spotfire Service for Python, referencing it by its name and tag. - Configuring a custom Docker image on a node with no internet access
If your node manager does not have external access to the internet, then you can create a Docker image on an internet-enabled computer, and then transfer it to your node manager. - Configuring a custom startup script to build a custom Docker image
You can provide a startup script that is installed and configured on your Spotfire Server build a custom Docker image for your Spotfire Service for Python. - Pulling a custom Docker image from an authenticated repository
You can create a custom start script to configure Spotfire Service for Python to log in to a remote authenticated repository and pull a custom Docker image.