Monk Lang - A minimalist, readable, and performant programming language
688
Official Docker images for Monk Lang - A minimalist, readable, and performant programming language.
# Run REPL interactively
docker run --rm -it monkfromearth/monk-lang
# Execute a Monk Lang script
echo 'show("Hello from Docker!")' | docker run --rm -i monkfromearth/monk-lang monk repl
# Run built-in examples
docker run --rm monkfromearth/monk-lang monk run /usr/local/share/monk/examples/01-basic-language-features/00_basic_arithmetic.monk
monkfromearth/monk-lang:latest - Latest Ubuntu-based imagemonkfromearth/monk-lang:v0.0.7 - Specific version (Ubuntu-based)monkfromearth/monk-lang:0.0 - Minor version (Ubuntu-based)monkfromearth/monk-lang:0 - Major version (Ubuntu-based)monkfromearth/monk-lang:ubuntu - Ubuntu 22.04 based (default)monkfromearth/monk-lang:alpine - Alpine Linux based (smaller)monkfromearth/monk-lang:v0.0.7-ubuntu - Specific version, Ubuntumonkfromearth/monk-lang:v0.0.7-alpine - Specific version, Alpinemonkfromearth/monk-lang:latest-ubuntu - Latest Ubuntu variantmonkfromearth/monk-lang:latest-alpine - Latest Alpine variantubuntu:24.04monk (non-root for security)alpine:3.21monk (non-root for security)Images are published to multiple registries:
docker.io/monkfromearth/monk-lang:latestdocker pull monkfromearth/monk-langghcr.io/monkfromearth/monk-lang:latestdocker pull ghcr.io/monkfromearth/monk-lang# Ubuntu variant
docker run --rm -it monkfromearth/monk-lang
# Alpine variant (smaller)
docker run --rm -it monkfromearth/monk-lang:alpine
# With specific version
docker run --rm -it monkfromearth/monk-lang:v0.0.7
# Mount local directory with your scripts
docker run --rm -v "$(pwd)":/workspace -w /workspace monkfromearth/monk-lang monk run script.monk
# Pass script via stdin
cat script.monk | docker run --rm -i monkfromearth/monk-lang monk repl
# One-liner execution
echo 'show(42 + 8)' | docker run --rm -i monkfromearth/monk-lang monk repl
# List available examples
docker run --rm monkfromearth/monk-lang ls /usr/local/share/monk/examples
# Run specific example
docker run --rm monkfromearth/monk-lang monk run /usr/local/share/monk/examples/07-functions/15_functions.monk
# Copy examples to host
docker run --rm -v "$(pwd)":/output monkfromearth/monk-lang sh -c "cp -r /usr/local/share/monk/examples /output/"
# Clone the repository
git clone https://github.com/monkfromearth/monk-lang.git
cd monk-lang
# Build Ubuntu variant
docker build -t monk-lang .
# Build Alpine variant
docker build -f Dockerfile.alpine -t monk-lang:alpine .
# Multi-architecture build using buildx
./scripts/docker-build.sh --dry-run # Show what would be built
./scripts/docker-build.sh --ubuntu # Build only Ubuntu variant
./scripts/docker-build.sh --alpine # Build only Alpine variant
./scripts/docker-build.sh --all # Build all variants
# Test basic functionality
docker run --rm monkfromearth/monk-lang monk --version
# Test REPL
echo 'show("Docker test successful!")' | docker run --rm -i monkfromearth/monk-lang monk repl
# Test example execution
docker run --rm monkfromearth/monk-lang monk run /usr/local/share/monk/examples/01-basic-language-features/00_basic_arithmetic.monk
# Test both variants
docker run --rm monkfromearth/monk-lang:ubuntu monk --version
docker run --rm monkfromearth/monk-lang:alpine monk --version
/usr/local/bin/usr/local/bin/monk/usr/local/share/monk/examplesmonk (UID: 1001, GID: 1001)monk/usr/local/bin for direct monk access/usr/local/bin/monk-lang → /usr/local/bin/monkCMD ["monk", "repl"]
# docker-compose.yml
version: '3.8'
services:
monk-repl:
image: monkfromearth/monk-lang:alpine
container_name: monk-repl
stdin_open: true
tty: true
volumes:
- ./scripts:/workspace
working_dir: /workspace
command: monk repl
monk-runner:
image: monkfromearth/monk-lang:alpine
volumes:
- ./scripts:/workspace
working_dir: /workspace
command: monk run main.monk
apiVersion: v1
kind: Pod
metadata:
name: monk-lang-pod
spec:
containers:
- name: monk-lang
image: monkfromearth/monk-lang:alpine
command: ["monk", "repl"]
resources:
requests:
memory: "32Mi"
cpu: "50m"
limits:
memory: "128Mi"
cpu: "200m"
# Use Monk Lang in multi-stage builds
FROM monkfromearth/monk-lang:alpine as monk-builder
COPY scripts/ /workspace/
WORKDIR /workspace
RUN monk run build.monk
FROM alpine:3.21
COPY --from=monk-builder /workspace/output/ /app/
CMD ["/app/main"]
All images support multiple architectures:
linux/amd64 (x86_64)linux/arm64 (ARM64/AArch64)Docker automatically pulls the correct architecture for your platform.
| Version | Release Date | Ubuntu Size | Alpine Size | Notable Changes |
|---|---|---|---|---|
| v0.0.7 | 2025-01-01 | ~120MB | ~40MB | CI test fixes, Docker support |
| v0.0.6 | 2024-12-30 | ~115MB | ~38MB | Static semantics, type system |
| v0.0.5 | 2024-12-25 | ~110MB | ~35MB | Core language features complete |
Monk Lang is released under the MIT License.
For issues, questions, or contributions:
Content type
Image
Digest
sha256:349561604…
Size
67.2 MB
Last updated
about 1 year ago
docker pull monkfromearth/monk-lang