ContainDS Desktop is to be discontinued from 1 Oct 2021 in favor of ContainDS Dashboards.

Please get in touch to discuss alternatives.


ContainDS Desktop is a simple user interface allowing you to easily run Jupyter or Streamlit through virtual environments on your computer. It uses Docker to run these environments but you don’t need to learn or use any Docker commands at all.

To start a new environment you only need to choose a starting point for your environment (e.g. a Binder-ready git repo; or standard Jupyter images such as ‘minimal’, Tensorflow, R, scipy; or a Streamlit image) and a workspace – a folder on your hard drive for storing notebook/app files and other data.

If you install more Python or other packages into your environment you can clone the environment as an ‘image’ to be reused for other projects or shared with colleagues. This is like having a pre-built Conda environment to be reused whenever and wherever it is needed.

Since environments used by ContainDS Desktop can run Linux, it can often be easier to build and maintain these isolated virtual environments than building and installing packages natively in Windows or MacOS.


ContainDS Desktop acts as a user interface on top of Docker running on your local computer. It allows you to create new isolated containers (virtual machines) running Jupyter or Streamlit.

When you create and start a new container through ContainDS Desktop, you simply select:

  • a starting ‘image’ (pre-built Jupyter/Streamlit environment, containing libraries such as Tensorflow or scipy); or provide the URL to a Binder-ready Git repo
  • a workspace, which is simply a folder on your local hard disk where you would like to store ipynb notebooks and other data for your project (this can already contain some files, e.g. from a git repo); or select to have an integrated workspace

In ContainDS Desktop, a container is simply an environment/workspace pair. You can give this pair a name to remind you of its purpose in your work.

Once your new container is running, you can click the WEB button to launch the corresponding Jupyter Lab or Streamlit app in your default web browser.

Documentation Table of Contents

Installation and Setup


Getting Started with Jupyter – running your first Jupyter environment

Getting Started with Streamlit – running a Streamlit environment

Run Container via Binder – start a new container by providing simply the URL of a GitHub repo

Share Jupyter Container as File – save your container as a ‘.containds’ file to share with someone else

Share Streamlit Container as File – save your Streamlit app as a ‘.containds’ file to share with someone else

How-To Guides

Managing Containers – how to stop, start, and delete containers.

Cloning the Environment – how to save the container’s environment so it can be reused in the future


Jupyter Lifecycle – how Jupyter Lab or Notebook runs inside a container


New Container Options – configuration available when choosing to start a new container

Preferences screen – options that affect ContainDS Desktop globally

containds File Format – technical details about the ‘.containds’ file used to share containers in their entirety

Frequently Asked Questions

FAQs page

Contact Us

If you run into any problems at all, or have any feedback, please get in touch with us.