Overview
migetpacks can build container images locally using your Docker socket. WhenOUTPUT_IMAGE does not contain a registry prefix, the built image stays on your local Docker daemon and is never pushed to a remote registry.
Prerequisites
- Docker Desktop (Mac/Windows) or Docker Engine (Linux)
- Docker daemon running
- The migetpacks image pulled locally
migetpacks uses Docker-in-Docker internally. Docker Desktop on Mac and Windows handles this transparently through its Linux VM. No
--privileged flag or special configuration is needed.Building Locally
Mount your application source code and the Docker socket, then run migetpacks:- macOS
- Windows (PowerShell)
- Linux
When
OUTPUT_IMAGE does not contain a / with a registry domain (e.g., my-app:local vs registry.io/my-app:latest), the builder uses the local Docker daemon and the image will not be pushed.Language Override
By default, migetpacks auto-detects the language. You can override this with theLANGUAGE environment variable:
Custom Environment Variables
Any environment variable not recognized by migetpacks is automatically injected into the generated Dockerfile as anENV statement:
Debugging Tips
Inspect Built Image Contents
Check Environment Variables
View the Generated Dockerfile
The build output includes the generated Dockerfile content. Look for theDockerfile.runtime section in the build logs.
Interactive Shell
If the build succeeds but the app does not start correctly, you can override the entrypoint:Check Exposed Ports
Architecture Override
By default, migetpacks builds forx86_64. To build for a different architecture:
Source Mount Options
- Read-Only Mount (Recommended)
- Read-Write Mount
- Subdirectory (Monorepo)
Mount the source as read-only to prevent any modifications: