Docker image¶
The atoti image on DockerHub contains the atoti library and its JupyterLab extension ready to use.
Note
This Docker image is a good playground to try atoti in a notebook environment. However, it should not be used as a base image for deploying atoti applications on the cloud since JupyterLab will not be needed in this situation. Starting from a bare Python image would be more suited for that.
If you need help on the installation you can contact us on Gitter, GitHub, or shoot us an email.
Usage¶
Pull the image:
docker pull atoti/atoti
Create a volume where the data (notebooks, files, etc.) can be persisted when the Docker container is stopped:
docker volume create atoti-volume
Run the Docker image using the created volume:
docker run --publish 8888:8888 --volume atoti-volume:/home/jovyan/work atoti/atoti
Jupyter will print the URL of the application with a security token, such as http://localhost:8888?token=XXXXX.
Advanced¶
Distant machine¶
The Docker image relies on the BASE_URL
environment variable to indicate to Jupyter Server and atoti sessions the URL from which they are accessible.
This variable defaults to http://localhost
, meaning that the image expects to be run locally.
On a distant machine, such as a cloud instance, BASE_URL
needs to be changed (e.g. to https://service.cloud-provider.com
) in order to ensure that session.url
is correct and that the atoti JupyterLab extension can connect to the session.
Listening on another port¶
Jupyter Server can listen to another port than 8888 by changing the port in the publish mapping (--publish XXXX:XXXX
) and setting the PORT
environment variable to the port value.
docker run --env PORT=9999 --publish 9999:9999 --volume atoti-volume:/home/jovyan/work atoti/atoti
Build custom image¶
Our Dockerfile
can be used as a starting point for custom images (e.g. to pre-install other dependencies).