11# Docker Quick Reference
22
3- ## Build and Run
3+ ## Quick Start - Using Pre-built Image (Recommended)
4+
5+ The easiest way to use PSI is to pull the pre-built Docker image from GitHub Container Registry:
46
57``` bash
6- # 1. Build image
7- ./docker-run.sh build
8+ # 1. Pull the pre-built image (no build needed!)
9+ ./docker-run.sh pull
810
911# 2. Run experiments (requires --data-path)
10- ./docker-run.sh run --data-path /mnt/large-disk/data
12+ ./docker-run.sh run --data-path /mnt/large-disk/data --node-size 1000000
1113
1214# 3. Full evaluation
1315./docker-run.sh full --data-path /mnt/large-disk/data
1416```
1517
18+ ## Alternative - Build Locally
19+
20+ If you want to modify the code or can't access the pre-built image:
21+
22+ ``` bash
23+ # 1. Build image locally
24+ ./docker-run.sh build
25+
26+ # 2. Run experiments
27+ ./docker-run.sh run --data-path /mnt/large-disk/data
28+ ```
29+
30+ ## Manual Docker Commands
31+
32+ You can also use Docker directly without the helper script:
33+
34+ ``` bash
35+ # Pull the image
36+ docker pull ghcr.io/ucrparlay/spacetreelib:latest
37+
38+ # Run interactively
39+ docker run -it --rm \
40+ -v /ssd1:/ssd1 \
41+ -e DATA_PREFIX=/ssd1/ \
42+ -e NODE_SIZE=1000000 \
43+ ghcr.io/ucrparlay/spacetreelib:latest
44+
45+ # Run with custom settings
46+ docker run -it --rm \
47+ --cap-add=SYS_NICE \
48+ -v $( pwd) /script_ae/logs:/workspace/SpaceTreeLib/script_ae/logs \
49+ -e DATA_PREFIX=/data \
50+ -e NODE_SIZE=1000000000 \
51+ ghcr.io/ucrparlay/spacetreelib:latest
52+ ```
53+
1654## Parameters
1755
1856| Option | Description | Default |
@@ -65,12 +103,15 @@ docker-compose down
65103## Cleanup
66104
67105``` bash
68- # Remove image
106+ # Remove container and image
69107./docker-run.sh clean
70108
109+ # Or manually remove the image
110+ docker rmi ghcr.io/ucrparlay/spacetreelib:latest
111+
71112# Remove generated data
72113rm -rf /your/data/path/*
73- rm -rf results/ logs/ plots/
114+ rm -rf script_ae/data/ script_ae/ logs/ script_ae/ plots/
74115```
75116
76117## Hardware Requirements
@@ -85,10 +126,16 @@ rm -rf results/ logs/ plots/
85126** Fixed:** Container runs with ` --cap-add=SYS_NICE `
86127
87128** Issue:** Files not visible on host
88- ** Solution:** Check mounted directories (data/, logs/, plots/)
129+ ** Solution:** Check mounted directories (script_ae/ data/, script_ae/ logs/, script_ae/ plots/)
89130
90131** Issue:** Out of memory
91132** Solution:** Reduce ` --node-size ` or increase system RAM
92133
93134** Issue:** Script changes not reflected
94- ** Solution:** Rebuild image with ` ./docker-run.sh build `
135+ ** Solution:** Rebuild image with ` ./docker-run.sh build ` or pull latest with ` ./docker-run.sh pull `
136+
137+ ** Issue:** Cannot pull image (permission denied)
138+ ** Solution:** The package may be private. Ask repository admin to make it public in GitHub package settings, or authenticate with:
139+ ``` bash
140+ echo YOUR_GITHUB_TOKEN | docker login ghcr.io -u YOUR_USERNAME --password-stdin
141+ ```
0 commit comments