Docker Quick Reference for platform-java
One-liner to run platform-java:
docker run -p 8080:8080 flossware/platform-java:latest
Full stack with monitoring:
docker-compose up -d
# Platforms: API (8080), Prometheus (9091), Grafana (3000)
Image
Command
Size
Use Case
Standard
docker pull flossware/platform-java:latest
150-180 MB
Full features
Alpine
docker pull flossware/platform-java:latest-alpine
60-80 MB
Lightweight
Run with REST API enabled:
docker run -p 8080:8080 flossware/platform-java:latest \
--rest-api --port 8080
Run with configuration file:
docker run -p 8080:8080 \
-v /path/to/platform.yaml:/app/config/platform.yaml \
flossware/platform-java:latest
Run with persistent volumes:
docker run -p 8080:8080 \
-v platform-apps:/app/apps \
-v platform-logs:/app/logs \
flossware/platform-java:latest
Run with custom JVM settings:
docker run -p 8080:8080 \
-e JAVA_OPTS=" -Xms1g -Xmx2g -XX:+UseG1GC" \
flossware/platform-java:latest
Run with all ports exposed:
docker run -p 8080:8080 -p 9090:9090 -p 9999:9999 \
flossware/platform-java:latest
docker run -d -p 8080:8080 \
--name platform-java \
flossware/platform-java:latest
docker-compose logs -f platform-java
docker build -t my-platform-java:latest .
docker build -f Dockerfile.alpine -t my-platform-java:alpine .
docker build \
--build-arg BASE_IMAGE=my-java:21-jre \
-t my-platform-java .
docker ps --format " table {{.Names}}\t{{.Status}}"
curl http://localhost:8080/api/health
docker logs platform-java
docker logs -f platform-java # Follow logs
docker logs --tail 100 platform-java # Last 100 lines
docker pull flossware/platform-java:latest
docker pull flossware/platform-java:1.1
docker pull flossware/platform-java:latest-alpine
GitHub Container Registry:
docker pull ghcr.io/FlossWare/platform-java:latest
docker pull ghcr.io/FlossWare/platform-java:1.1
docker pull quay.io/flossware/platform-java:latest
docker pull quay.io/flossware/platform-java:1.1
docker volume create platform-apps
docker volume create platform-logs
docker volume inspect platform-apps
docker volume rm platform-apps platform-logs
docker network create platform-net
docker run --network platform-net \
--name platform-java \
flossware/platform-java:latest
Connect container to network:
docker network connect platform-net container-id
docker ps # Running
docker ps -a # All
docker stop platform-java
docker start platform-java
docker rm platform-java
docker rm -f platform-java # Force remove
Execute command in container:
docker exec platform-java ls /app
docker exec -it platform-java /bin/bash
Copy files to/from container:
docker cp app.yaml platform-java:/app/apps/
docker cp platform-java:/app/logs/platform.log .
docker images
docker images flossware/*
docker tag platform-java:test my-registry/platform-java:v1.0
docker rmi platform-java:test
docker inspect flossware/platform-java:latest
docker history flossware/platform-java:latest
docker inspect platform-java
Check container resource usage:
docker stats platform-java
View container processes:
Troubleshoot failed container:
# View last 100 lines of logs
docker logs --tail 100 platform-java
# Check exit code
docker inspect -f ' {{.State.ExitCode}}' platform-java
# Run with --rm to auto-delete on exit
docker run --rm -it flossware/platform-java:latest
Environment Variables Quick Set
# Memory settings
-e JAVA_OPTS=" -Xms512m -Xmx1024m"
# Configuration file
-e PLATFORM_CONFIG=/app/config/platform.yaml
# App directory
-e PLATFORM_APPS_DIR=/app/apps
# Logs directory
-e PLATFORM_LOGS_DIR=/app/logs
Container exits immediately:
# Check logs
docker logs platform-java
# Use different port
docker run -p 8888:8080 flossware/platform-java:latest
# Reduce JVM memory
docker run -e JAVA_OPTS=" -Xms256m -Xmx512m" flossware/platform-java:latest
# Check manually
curl -v http://localhost:8080/api/health
Cannot connect from host:
# Use host.docker.internal on Mac/Windows
# Use --network host on Linux
docker run --network host flossware/platform-java:latest
docker run \
--memory 2g \
--cpus 2 \
--memory-swap 4g \
flossware/platform-java:latest
docker run \
--restart unless-stopped \
flossware/platform-java:latest
Add read-only filesystem:
docker run \
--read-only \
--tmpfs /tmp \
flossware/platform-java:latest
Docker Push to Registries
docker login
docker tag local-image:tag flossware/platform-java:tag
docker push flossware/platform-java:tag
GitHub Container Registry:
docker login ghcr.io
docker tag local-image:tag ghcr.io/FlossWare/platform-java:tag
docker push ghcr.io/FlossWare/platform-java:tag
Add to ~/.bashrc or ~/.zshrc:
alias dps=' docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dlogs=' docker logs -f'
alias dexec=' docker exec -it'
alias dstats=' docker stats --no-stream'
alias dpull=' docker pull flossware/platform-java:latest'
Full Documentation: See DOCKER.md
Implementation Guide: See DOCKER_IMPLEMENTATION.md
Project README: See README.md