The status page source is in ~/status-page with no Dockerfile. Package it.
| Requirement | Detail |
|---|---|
| Image | status-page:1.0 |
| Base | Node.js 20 on Alpine |
| Working directory | /app |
| Dependencies | installed with npm install during the build; a change to server.js must not rerun it |
| Build context | .env, logs, .git and the local node_modules stay on disk and out of the image |
| Port | 3000, documented in the image |
| Startup | node server.js in exec form |
| Container | status-page, host port 8080 → 3000; curl localhost:8080/health returns the health JSON |
Start by reading what is in the directory:
sh
ls -a ~/status-page
cat ~/status-page/README.md
cat ~/status-page/package.jsonWrite the files with nano Dockerfile and nano .dockerignore. Each objective's hint costs XP.