UI (User Interface) Containers
User-interface containers are used to run the Cauldron user interface in a containerized fashion on a host system (computer) that shares access with the notebook development files. Using these containers is useful to isolate the Cauldron environment from the host computer, e.g. as a container-based python environment.
Prebuilt UI images are available on docker hub with the following repository tages:
  • swernst/cauldron:current-ui-standard
  • swernst/cauldron:current-ui-conda
  • swernst/cauldron:current-ui-miniconda
If you want to pin to a specific Cauldron version instead of keeping up with the latest one, the current can be replaced with a version, e.g. swernst/cauldron:1.0.0-ui-standard.
There are two ways to use these images:
Local Containerized Environment
This is the most common case, where the UI container will be executed locally and serve as the Cauldron execution kernel as well as the UI. To start such a container run a command like:
$ cd /path/to/notebooks $ cauldron uidocker
Or directly as a Docker command like this:
$ docker run --rm -it \ -v /path/to/notebooks:/notebooks \ -p 8899:8899 \ swernst/cauldron:current-ui-standard
--rmto cleanup the container once it is finished running,
-itto show the interactive output of the container while it is running,
-v /path/to/notebooks:/notebooksto mount the local notebook files into the container so that the container has access to the notebook files when running. By default, these containers will be looking for Cauldron notebook folders within the /notebooks directory in the container, so it is recommended that the volume mount be there. However, those comfortable with volume mounting can choose to mount multiple volumes or use different locations entirely.
If you use the cauldron uidocker command, the current directory will be mounted to the /notebooks directory in the container. It's possible to override this with by specifying the cauldron uidocker --directory=/path/to/notebooks flag as part of the command.
-p 8899:8899to connect the container port 8899 to the local host port 8899 so that the UI running in the container is accessible from the local host system. A different local port can be used by changing the first port argument in the above command if needed (for example running multiple UI containers on the same local host).
If you use the cauldron uidocker command, a port will be automatically found and used. A specific port can be specified with the cauldron uidocker --port=8899 flag.
The UI can be loaded in the browser athttp://127.0.0.1:8899after the container has started running (or whatever port is specified during the command invocation).
In this scenario the Cauldron notebook will be executing inside the UI container and communicating through the specified port mapping - port 8899 by default - with the web-based UI running in the browser on the host system.
Remote-Connected Containerized Environment
The more advanced case is where the UI container will be used to communicate with a remote kernel container running on a different host system (usually in the cloud). For more information on how this works, see theUI + Kernel Containerstopic.