Options
Generate a production-ready Dockerfile for Node.js, Python, Go, PHP, Ruby, or Java — with multi-stage build, non-root user, and .dockerignore in seconds.
Node.js, Python, Go, PHP, Ruby, Java용 프로덕션 Dockerfile을 즉시 생성 — 멀티 스테이지 빌드, 비루트 사용자, .dockerignore 포함.
Options
Select the language and version your app runs on. The tool sets sensible defaults for port, install command, and start command.
Override the install and start commands to match your project. For Node.js: npm ci vs yarn install --frozen-lockfile.
Multi-stage reduces final image size. Non-root user is a security best practice. HEALTHCHECK lets Docker restart unhealthy containers automatically.
Paste the Dockerfile into your project root. Also copy the .dockerignore to keep your images lean. Then docker build -t myapp .
앱이 사용하는 언어와 버전을 선택하세요. 포트, 설치 명령어, 시작 명령어는 자동으로 설정됩니다.
프로젝트에 맞게 설치·시작 명령어를 수정하세요. Node.js의 경우 npm ci와 yarn install --frozen-lockfile 중 선택.
멀티 스테이지 빌드는 최종 이미지 크기를 줄입니다. 비루트 사용자는 보안 모범 사례입니다. HEALTHCHECK는 비정상 컨테이너를 자동 재시작합니다.
Dockerfile을 프로젝트 루트에 붙여넣으세요. .dockerignore도 복사해 이미지를 가볍게 유지하세요. 그 다음 docker build -t myapp .
node or appuser) with no shell or sudo access limits the blast radius of any exploit.node_modules (reinstalled during build), .git, test files, local .env files, CI configs, and editor configs. A lean build context means faster docker build times and smaller images.CMD ["node", "server.js"] works fine. Use ENTRYPOINT when the container should always run a specific binary.slim images remove most dev tools to save ~100 MB. alpine is even smaller but uses musl libc, which can break native Node addons or Python C extensions. For production, node:20-slim or python:3.12-slim is the practical sweet spot. Pin to a specific version (not latest) so builds are reproducible.