ContainDS 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 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 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, 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, 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
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
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 globally
containds File Format – technical details about the ‘.containds’ file used to share containers in their entirety
Frequently Asked Questions
If you run into any problems at all, or have any feedback, please get in touch with us.