Sign inSign up

illumidesk/vscode

By illumidesk

•Updated about 6 years ago

Image
0

1.5K

illumidesk/vscode repository overview

Build Status

⁠IllumiDesk docker-stacks

Dockerfiles and related assets for IllumiDesk's workspace images.

⁠Pre Requisits

⁠Quickstart

  1. Build images

Build images:

make build-all
  1. Run:

Running the image standalone is helpful for testing:

docker run -p 8888:8888 illumidesk/base-notebook:latest

Refer to docker's documentation⁠ for additional docker run ... options.

⁠Image catalogue

ImageDockerHub Link
illumidesk/base-notebookDocker Image
illumidesk/grader-notebookDocker Image
illumidesk/instructor-notebookDocker Image
illumidesk/learner-notebookDocker Image
illumidesk/rstudioDocker Image
illumidesk/theiaDocker Image
illumidesk/vscodeDocker Image
⁠Images prepared for Learning Tools Interoperability (LTI) Roles
  • Base Jupyter Notebook: based on the jupyter/datascience-notebook⁠ plus:

    • Java kernel using JRE based on Open JDK 11
    • Julia, Python, and R packages installed with files (install.jl, requirements.txt, environment.yml, respectively).
    • Jupyter Notebook configuration to support iFrames
  • Learner Jupyter Notebook: adds nbgrader extensions for the learner role.

  • Instructor Jupyter Notebook: adds nbgrader extensions for the instructor role.

  • Grader Jupyter Notebook: adds nbgrader extensions for the shared grader notebook.

The IllumiDesk docker layers for grader images are illustrated below:

Jupyter notebook grader images

⁠Additional Workspace Types
  • THEIA IDE: basic version of the THEIA IDE. THEIA is highly configurable, refer to their documention⁠ for customization options (mostly done via package.json modifications).
  • VS Code: this image contains the code-server VS Code distribution optimized for docker.
  • RStudio: uses illumidesk/r-conda⁠ as a base image.

The IllumiDesk docker layers for workspace types are illustrated below:

Jupyter notebook workspace images

⁠Build Mechanism

  1. Build and tag the base image or all images at once:
    make build/base-image TAG=mytag

or

    make build-all TAG=mytag
  1. Use the base image from step 1 above as:

a) A base image and add additional layers to said image to create your own custom image

FROM illumidesk/base-notebook:latest

RUN ...

or

b) A source image for files necessary to use image with the IllumiDesk⁠ stack.

FROM illumidesk/base-notebook:latest AS base

FROM acme/image:tag

COPY --from=base /usr/local/bin/start* /usr/local/bin/
COPY --from=base /usr/local/bin/fix-permissions /usr/local/bin/
COPY --from=base /etc/jupyter/jupyter_notebook_config.py /etc/jupyter/

RUN ...
  1. Push images to DockerHub
docker push organization/custom-image

⁠Testing

Tests start the docker container(s), runs commands by emulating the docker exec ... command, and asserts the outputs. You can run tests on one image or all images. Use the TAG key to specify a docker image tag to test (TAG defaults to latest):

make test/base-notebook TAG=mytag

or (using default latest tag):

make test-all

⁠References

These images are based on the jupyter/docker-stacks images. Refer to their documentation⁠ for the full set of configuration options.

Tag summary

Content type

Image

Digest

Size

4.2 GB

Last updated

about 6 years ago

docker pull illumidesk/vscode