A lightweight Docker-inspired container engine with layer caching, runtime execution, and GUI-based container operations implemented in Python.
- Dockerfile-style build system
- Layer caching mechanism
- Cache hit and cache miss detection
- Runtime container execution
- Environment variable support
- COPY, RUN, CMD, ENV instruction handling
- CustomTkinter GUI
- Command Line Interface (CLI) support
- Lightweight container simulation
| Instruction | Description |
|---|---|
| FROM | Base image setup |
| WORKDIR | Set working directory |
| COPY | Copy files and folders |
| ENV | Set environment variables |
| RUN | Execute commands during build |
| CMD | Execute runtime commands |
- Python
- CustomTkinter
- File System Operations
- Hash-based Layer Caching
- CLI Architecture
demo_vid.mp4
python docksmith.py build -t myimage:latestpython docksmith.py run -t myimage:latestDocksmith implements layer-based caching similar to Docker.
- Unchanged layers → CACHE HIT
- Modified layers → CACHE MISS
This improves build performance by avoiding redundant operations and rebuilds.
Run GUI using:
python gui.py- Build execution
- Runtime execution
- Cache visualization
- Interactive container operations
Step 1: FROM base
Step 2: WORKDIR /app
Step 3: COPY . /app
[CACHE HIT]
Step 4: ENV NAME=VIEWERS
Step 5: CMD ["python", "/app/main.py"]
Build complete!
The project is divided into multiple modules:
builder.py→ Handles image build workflow and instruction parsingruntime.py→ Executes runtime container operationsdocksmith.py→ Main CLI entry pointgui.py→ GUI interface using CustomTkinterutils.py→ Utility/helper functionsapp/→ Sample containerized application and Docksmithfile
- Multi-container support
- Network simulation
- Volume mounting
- Image registry system
- Container isolation improvements
- Linux namespace integration
Shriya Shetty




