This Github repository builds and maintains the standard suite of Docker containers supported by UC San Diego Educational Technology Services.
For students and instructors, check out the offical FAQ for running containers on the DSMLP platform.
For people who are trying to modify the image stack, here are some scenarios and instructions on each.
Important: for all changes, it is advised to make a new branch with the name dev_***
for developing and testing before merging it to the main
branch for the official update. And also make sure all the changes are in one commit when you push to Github. This can be done by changing the first commit continuously: git add . && git commit --amend
. Failure to do so may break the dependency between images.
- Clone the repository and make a new branch:
git checkout -b dev_***_notebook
. - Make a new directory under
./images
with the name being the base-name of the new image. For example, forucsdets/scipy-ml-notebook
, make a new directory./images/scipy-ml-notebook
. - Under the new directory, add the Dockerfile and the neccessary bits for building the container.
- Modify
./images/spec.yml
. Add a new key under/images
with the new base-name. Fill in the fullimage_name
, its upstream base image keydepend_on
. - Push the commit to Github. Make a pull request from the new branch to
main
through the Github interface. Do not merge right now and wait for the workflow (Github Action) to finish. It will build the image stack and test each image for features, but it will not push any changes to Dockerhub. - If the workflow failed, go to the action details page and debug the issue. Push a new change by amending the first commit
git add . && git commit --amend
. - If the workflow completed successfully (a green check to the left of the commit), you can now safely merge the pull request to the
main
branch. - The workflow will now run again and push the images to Dockerhub.
- Clone the repository and make a new branch:
git checkout -b dev_***_notebook
. - Under
image/
, find the respective directory for the image you want to change. A manifest of a recent build can be found in the wiki section. An example of a manifest is here. - Make the changes and commit to Github. Make a pull request from the new branch to
main
through the Github interface. Do not merge right now and wait for the workflow (Github Action) to finish. It will build the image stack and test each image for features, but it will not push any changes to Dockerhub. - If the workflow failed, go to the action details page and debug the issue. Push a new change by amending the first commit
git add . && git commit --amend
. - If the workflow completed successfully (a green check to the left of the commit), you can now safely merge the pull request to the
main
branch. - The workflow will now run again and push the images to Dockerhub.