Create an Environment

Create a new Domino Environment to meet your language and package needs

  1. From the Lab, click Environments.

  2. Click Create Environment.

  3. Name your new Environment and optionally give it a description.

  4. Select whether you want to Start from an existing Environment or Start from a custom base image. See below for more details on custom base images.

  5. Optional: Select the cluster for the Environment.

  6. Set the Environment’s Visibility. Administrators can make the Environment Globally Accessible, which makes it available to all Projects.

  7. Click Create Environment. The Revisions tab for the Environment opens.

  8. Click Edit Definition to define the Dockerfile and supporting scripts and settings for the Environment. See Edit Environment Definition.

Environment based on Domino Standard Environment

Although Domino comes with only the Domino Standard Environment installed, you can use the Environment images to create a new Domino Environment. This topic describes how to create a new Domino Environment or to customize one.

  1. Select an Environment, choosing the correct Python and R version. Typically, you’ll want to choose the Environment from the latest release of Domino.

    Note

    Domino Environment Images follow the naming scheme <ubuntuVersion-pythonVersion-rVersion-dominoVersion-optionalDescriptor>. The Domino version refers to the version of Domino where the Environment was released, but Environments can be used across different versions of Domino. The optionalDescriptor is typically something like gpu that describes a variation on the typical version of the Environment.

    Note

    Environments tagged _legacy are designed to work with Domino versions 4.x. The only difference between a regular and legacy Environment is the way they handle CUDA, given the switch to using nvidia-docker2 in Domino version 4.0.

  2. Find the appropriate name, description, image URI and pluggable notebook properties for your Environment.

    Note

    DSE Environments include the supported pluggable notebook properties in the image metadata under the com.dominodatalab.Environment.workspace-properties field. You can base64 decode this string to get the yaml properties this workspace supports.

    For example, for the Domino Standard Environment you might use:

    Title

    Domino Standard Environment Py 3.8 R 4.1

    URI

    quay.io/domino/standard-Environment:ubuntu18-py3.8-r4.1-domino4.6

    Description
    Ubuntu 18.04
    Mini-conda py38_4.9.2
    Python 3.8
    R 4.1
    Jupyter, Jupyterlab, VSCode, Rstudio
    Pluggable Workspace Tools (decoded from Environment metadata)
    jupyter:
      title: "Jupyter (Python, R, Julia)"
      iconUrl: "/assets/images/workspace-logos/Jupyter.svg"
      start: [ "/opt/domino/workspaces/jupyter/start" ]
      httpProxy:
        port: 8888
        rewrite: false
        internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{    requireSubdomain: false
      supportedFileExtensions: [ ".ipynb" ]
    jupyterlab:
      title: "JupyterLab"
      iconUrl: "/assets/images/workspace-logos/jupyterlab.svg"
      start: [  /opt/domino/workspaces/jupyterlab/start ]
      httpProxy:
        internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{    port: 8888
        rewrite: false
        requireSubdomain: false
    vscode:
      title: "vscode"
      iconUrl: "/assets/images/workspace-logos/vscode.svg"
      start: [ "/opt/domino/workspaces/vscode/start" ]
      httpProxy:
        port: 8888
        requireSubdomain: false
    rstudio:
      title: "RStudio"
      iconUrl: "/assets/images/workspace-logos/Rstudio.svg"
      start: [ "/opt/domino/workspaces/rstudio/start" ]
      httpProxy:
        port: 8888
        requireSubdomain: false
  3. Create a new Domino Compute Environment.

  4. Update your Domino AMI (not required for non-cloud).

    • After you’ve created a compute Environment with a new base image, work with your administrator to update your Domino’s AMI (or if not on AWS, the GCP or Azure equivalent) by caching the new image. As Domino spins up and down new executors, if your new image is not in the AMI, it must pull that image onto the executor the first time it starts up. This can cause a ~10 minute delay for starting Workspaces on new executors. Follow the procedure to snap and update your AMI.