Getting Started
Local Development
The best way to catch build errors before deploying is to run the same Docker build locally. DropDeploy generates a Dockerfile for your project — you can test it yourself with two commands.
1. Install Docker
Docker Desktop is available for Mac, Windows, and Linux at docs.docker.com/get-docker. Verify it works:
docker --version
2. Get the Dockerfile
DropDeploy generates the Dockerfile automatically — you do not need one in your repo. But to test locally, find your framework in the Frameworks section, copy the Dockerfile shown there, and save it as Dockerfile in your project root.
Dockerfile after testing. DropDeploy generates its own at deploy time and ignores any Dockerfile in your repo.3. Build and run
Run these two commands from your project root:
docker build -t my-app . docker run --rm -p 8080:<CONTAINER_PORT> my-app
Replace <CONTAINER_PORT> with the port your framework uses (see the table below). Then open http://localhost:8080 in your browser.
-e KEY=value or --env-file .env:docker run --rm -p 8080:3000 --env-file .env my-app
Container port reference
Use this table to fill in <CONTAINER_PORT> above.
| Framework | Container port | Example run command |
|---|---|---|
| Static HTML | 80 | docker run -p 8080:80 my-app |
| Node.js | 3000 | docker run -p 8080:3000 my-app |
| Next.js | 3000 | docker run -p 8080:3000 my-app |
| React (Vite) | 80 | docker run -p 8080:80 my-app |
| Vue (Vite) | 80 | docker run -p 8080:80 my-app |
| Svelte (Vite) | 80 | docker run -p 8080:80 my-app |
| Django | 8000 | docker run -p 8080:8000 my-app |
| FastAPI | 8000 | docker run -p 8080:8000 my-app |
| Flask | 5000 | docker run -p 8080:5000 my-app |
| Go | 8080 | docker run -p 8080:8080 my-app |
| Rust | 8080 | docker run -p 8080:8080 my-app |
| Java / Spring Boot | 8080 | docker run -p 8080:8080 my-app |
Common build errors
COPY failed: file not foundThe file referenced in the Dockerfile does not exist at that path in your repo. Check spelling and that the file is committed to git (not in .gitignore).
npm ERR! missing script: startYour package.json has no "start" script. Add one: "start": "node index.js" (or whatever starts your server).
Error: listen EADDRINUSEThe port your app binds to does not match what the Dockerfile EXPOSEs. Check your app listens on the correct port.
Build takes >10 minutesRust and Java builds can be slow. This is normal on first run — Docker layer caching makes subsequent builds faster.
Container exits immediatelyYour app is crashing on startup. Run docker run -it my-app sh and inspect the container, or check the build log output for panics/errors.