This repository was archived by the owner on Sep 26, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 93
Enhance Docker workflow with unified mount system and improved cluster operations #56
Open
Idate96
wants to merge
10
commits into
isaac-sim:main
Choose a base branch
from
leggedrobotics:feat/docker-cluster-workflow
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Enhance Docker workflow with unified mount system and improved cluster operations #56
Idate96
wants to merge
10
commits into
isaac-sim:main
from
leggedrobotics:feat/docker-cluster-workflow
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…eworks_ext - Replace simple Docker setup with comprehensive 2-container architecture - Add production container (ext) for cluster deployment - Add development container (ext-dev) with ROS2 and dual-mode support - Implement unified mount system for optional IsaacLab/RSL-RL mounts - Add cluster workflow scripts for SLURM/PBS job submission - Include mount configuration system with validation - Add container management script (container.sh) for easier usage - Support both root and rootless Docker operation modes - Add comprehensive documentation (MOUNT_SYSTEM_GUIDE.md, DOCKER_ARCHITECTURE.md) - Update .gitignore to exclude user-specific configuration files This brings the IsaacLabExtensionTemplate up to par with the advanced Docker and cluster capabilities developed in moleworks_ext. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Merged DOCKER_ARCHITECTURE.md and MOUNT_SYSTEM_GUIDE.md into docker/README.md - Created docker/cluster/README.md for cluster-specific operations - Added missing sync_experiments.sh script from moleworks_ext - Follows moleworks_ext documentation structure
- Remove extends directive from isaac-lab-ext-dev-rootless service - Add full service definition with privileged: false for rootless mode - Include all necessary service properties (network_mode, ipc, deploy, etc.) - This ensures proper permissions without requiring privileged access
- Update Python aliases to use isaaclab.sh -p wrapper for proper environment setup - Enhance container UX with 🐳 DOCKER prompt and welcome banner - Fix bashrc sourcing to ensure proper shell environment loading - Support Docker prompt indicator when home directory is mounted - Add explicit entrypoint declarations in docker-compose services
- Use dynamic_entrypoint.sh for development containers - Remove figlet dependency that was causing startup errors - Ensure proper Docker visual indicators are displayed
- Correct entrypoint path from /dynamic_entrypoint.sh to /entrypoint.sh - Ensure containers start properly with Docker visual indicators
- Fix cluster user variable expansion in mount paths - Fix script argument passing through SSH and job submission - Add proper error handling for mount configuration parsing - Add debug output for troubleshooting cluster jobs
- Add NVIDIA Container Toolkit prerequisite with installation link - Clarify timestamped directory creation for cluster jobs - Fix job output location references for SLURM/PBS - Add troubleshooting for mount path variable expansion - Add Docker/Apptainer version compatibility information - Improve GPU troubleshooting with toolkit verification step
- Remove automatic RSL-RL installation from both production and dev containers - Remove RTX sensor symlink creation (no longer needed) - Update documentation to reflect RSL-RL is not included by default - Remove migration guide section from Docker README
…e script ## Key Improvements ### New Features - Add missing run_dev.sh convenience script with user-friendly mode switching - Add comprehensive environment file setup guide with examples - Add system validation commands and performance expectations - Add complete cluster workflow examples with timeline estimates ### Documentation Enhancements - Add step-by-step environment configuration with generic placeholder examples - Add performance benchmarks and system requirements based on testing - Add troubleshooting for common setup issues (environment files, mount config, builds) - Add job monitoring examples and cluster management workflows - Add ETH Euler and generic university cluster configuration examples ### Validation & Testing - Successfully tested complete Docker workflow from setup to cluster deployment - Validated container building, job submission, and experiment sync - Tested cluster integration with live job submission and monitoring - All documentation examples verified through end-to-end testing ### User Experience Improvements - Clear distinction between mandatory and optional configuration steps - Quick start validation commands to verify setup before use - Generic placeholders throughout (no personal details exposed) - Enhanced troubleshooting based on real setup friction points discovered The Docker system now provides a seamless workflow from local development to cluster deployment with comprehensive, tested documentation.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a unified mount configuration system for Docker containers and enhances cluster deployment workflows, making it easier to develop
with external IsaacLab/RSL-RL installations and deploy to HPC clusters.
Key Features
1. Unified Mount Configuration System
mount-setup
wizard for interactive configuration of external codebase mountsdocker-compose.override.yaml
from.mount.config
mount-enable
,mount-disable
,mount-set
,mount-show
2. Enhanced Cluster Operations
$CLUSTER_USER
in mount paths3. Developer Experience Improvements
run_dev.sh
script for quick development container access--rootless
flag for environments without root Docker access--fix-perms
flag to automatically fix file ownership issues4. Documentation Updates
Usage Examples