Giter VIP home page Giter VIP logo

datahub-docker-stack's Introduction

datahub-docker-stack

This Github repository builds and maintains the standard suite of Docker containers supported by UC San Diego Educational Technology Services.

Usage

For students and instructors, check out the offical FAQ for running containers on the DSMLP platform.

Maintenance

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.

Adding a New Image

  1. Clone the repository and make a new branch: git checkout -b dev_***_notebook.
  2. Make a new directory under ./images with the name being the base-name of the new image. For example, for ucsdets/scipy-ml-notebook, make a new directory ./images/scipy-ml-notebook.
  3. Under the new directory, add the Dockerfile and the neccessary bits for building the container.
  4. Modify ./images/spec.yml. Add a new key under /images with the new base-name. Fill in the full image_name, its upstream base image key depend_on.
  5. 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.
  6. 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.
  7. 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.
  8. The workflow will now run again and push the images to Dockerhub.

Modifying an Image

  1. Clone the repository and make a new branch: git checkout -b dev_***_notebook.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. The workflow will now run again and push the images to Dockerhub.

datahub-docker-stack's People

Contributors

davidzyx avatar yahu98 avatar wesuuu avatar dtandersen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.