From dominodatalab
Create and customize Domino Compute Environments using Dockerfile instructions, install packages, configure IDEs, and troubleshoot build failures. Useful for managing dependencies and environment configurations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dominodatalab:environmentsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill helps users create, customize, and manage Domino Compute Environments - Docker-based containers that define the tools, packages, and configurations for workspaces, jobs, and other executions.
This skill helps users create, customize, and manage Domino Compute Environments - Docker-based containers that define the tools, packages, and configurations for workspaces, jobs, and other executions.
Activate this skill when users want to:
A Domino Compute Environment is a Docker container image that contains:
Domino provides pre-built environments with common tools:
| Environment | Includes |
|---|---|
| Domino Standard Environment | Python 3.9, R 4.1, Jupyter, VS Code |
| Domino Spark Environment | Spark 3.x, PySpark |
| Domino Ray Environment | Ray for distributed computing |
| Domino GPU Environment | CUDA, cuDNN, GPU libraries |
Add instructions to customize the environment. Do NOT include FROM statement.
# Install system packages
RUN apt-get update && apt-get install -y \
libpq-dev \
graphviz \
&& rm -rf /var/lib/apt/lists/*
# Install Python packages
RUN pip install --no-cache-dir \
pandas==2.0.0 \
scikit-learn==1.3.0 \
tensorflow==2.13.0
# Install R packages
RUN R -e "install.packages(c('tidyverse', 'caret'), repos='https://cloud.r-project.org')"
# Set environment variables
ENV MODEL_PATH=/mnt/artifacts/model.pkl
Best for packages that should always be available.
RUN pip install pandas numpy scikit-learn
Pros: Fast startup, consistent environment Cons: Requires environment rebuild for changes
Packages installed at execution startup.
# requirements.txt in project root
pandas>=2.0.0
numpy>=1.24.0
scikit-learn>=1.3.0
Pros: No rebuild needed, per-project customization Cons: Slower startup
Custom scripts that run at execution start.
#!/bin/bash
# pre-run.sh
pip install -q custom-package
Install during execution (temporary).
!pip install package-name
# Good: Single layer
RUN pip install pandas numpy scikit-learn matplotlib
# Bad: Multiple layers
RUN pip install pandas
RUN pip install numpy
RUN pip install scikit-learn
RUN apt-get update && apt-get install -y \
package1 \
package2 \
&& rm -rf /var/lib/apt/lists/*
# Good: Reproducible
RUN pip install pandas==2.0.0 scikit-learn==1.3.0
# Bad: May break
RUN pip install pandas scikit-learn
RUN pip install --no-cache-dir package-name
ENV MY_VAR=value
ENV DATA_PATH=/mnt/data
import os
value = os.environ.get('MY_VAR', 'default')
# Ensure base image has CUDA
# Add GPU-specific packages
RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
RUN pip install tensorflow[and-cuda]
import torch
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"GPU count: {torch.cuda.device_count()}")
RUN mkdir -p /home/domino/.jupyter && \
echo "c.NotebookApp.token = ''" >> /home/domino/.jupyter/jupyter_notebook_config.py
Pre-install extensions:
RUN code-server --install-extension ms-python.python
Domino tracks environment versions:
Go to Environment > Revisions tab
Select revision when launching workspace or job.
Package not found:
# Wrong
RUN pip install sklearn
# Right
RUN pip install scikit-learn
Permission denied:
# Run as root if needed
USER root
RUN apt-get update && apt-get install -y package
USER domino
Timeout during build:
# Build and test locally before adding to Domino
docker build -t test-env -f Dockerfile .
docker run -it test-env python -c "import pandas; print(pandas.__version__)"
npx claudepluginhub anthropics/claude-plugins-official --plugin dominodatalabCreates a Dockerfile for R projects using rocker base images with system dependencies, R package installation, renv integration, and optimized layer ordering. Use when containerizing R applications or creating reproducible R environments.
Defines standardized development environments or onboards developers by generating setup scripts, container configs, CI workflows, toolchain pins, and dev-setup documents.
Guides Docker usage: debugging container failures, writing Dockerfiles, docker-compose for integration tests, image optimization, volumes, multi-stage builds, and deployments.