Dockerfile 로 배포
zip 루트에 Dockerfile 이 있으면 자동 감지 대신 그걸로 빌드합니다.
Go · Rust · Java · C++ 처럼 위 가이드에 없는 환경이거나, 빌드 과정을 직접 통제하고
싶을 때 쓰세요.
규칙 하나
섹션 제목: “규칙 하나”컨테이너가 0.0.0.0 의 3000 포트를 리슨해야 합니다.
EXPOSE 3000FROM golang:1.23 AS buildWORKDIR /srcCOPY . .RUN go build -o /app ./...
FROM gcr.io/distroless/base-debian12COPY --from=build /app /appENV PORT=3000EXPOSE 3000CMD ["/app"]FROM eclipse-temurin:21-jdk AS buildWORKDIR /srcCOPY . .RUN ./gradlew bootJar --no-daemon
FROM eclipse-temurin:21-jreCOPY --from=build /src/build/libs/*.jar /app.jarENV SERVER_PORT=3000EXPOSE 3000CMD ["java", "-jar", "/app.jar"]FROM python:3.12-slimWORKDIR /appCOPY requirements.txt .RUN pip install --no-cache-dir -r requirements.txtCOPY . .EXPOSE 3000CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "3000"]docker compose 는 안 됩니다
섹션 제목: “docker compose 는 안 됩니다”앱 하나만 배포됩니다. 데이터베이스가 필요하면 compose 로 띄우지 말고 포털에서 만드세요 — 앱이 다시 배포돼도 데이터가 남습니다.