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
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.
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 \
--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
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
-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 at
http://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 Containers