This repo is used to manage IllumiDesk's standard docker images for the IllumiDesk learning environment to power Jupyter Server backends.
- Install dependencies
make venv
- Build images
make build-all
- Run:
Running the image standalone is helpful for testing:
docker run -p 8888:8888 illumidesk/python-notebook:latest
Then, navigate to http://127.0.0.1:8888
to access your Jupyter Notebook server.
Refer to docker's documentation for additional
docker run ...
options.
-
Add additional Python packages by editing the
./python-notebook/requirements.txt
file. -
Rebuild end-user and grader images with
make build-all
. -
Push images to AWS ECR
- You must first authenticate to push to AWS ECR repos using
docker
coomands. - Run
docker push <repo>
where<repo>
represents the full path to your AWS ECR repository.
- (Optional) Push images to DockerHub
This step requires creating an Organization account in DockerHub or other docker image compatible registry. The docker push ...
command will push the image to the DockerHub registry by default. Please refer to the official Docker documentation if you would like to push another registry.
For example, assuming the DockerHub organization is illumidesk
, the source files are in the python-notebook
folder, and the tag is latest
, then the full namespace for the image would be illumidesk/python-notebook:latest
. Assuming the image has been built, push the image to DockerHub or any other docker registry with the docker push <image-namespace>:<image-tag>
command:
docker login
docker push illumidesk/python-notebook:latest
- Create your virtual environment and install dev-requirements:
make venv
- Check Dockerfiles with linter:
make lint-all
These images are based on the jupyter/docker-stacks
images. Refer to their documentation for the full set of configuration and testing options.
MIT