Ishga tayyor · Docker va Compose
Daraja: O'rta
Takrorlanuvchi build, kichik image, non-root runtime va local stack.
Tushuntirish
## Ishdagi vazifa Developer laptopida ishlagan artefakt boshqa muhitda ham bir xil ishga tushishi. Image read-only qatlamlardan quriladi, container shu imagening processidir, Compose esa ilova va DB kabi bir nechta servisni localda bog‘laydi. Persistent data volume-da saqlanadi.
## Production odatlari Multi-stage build build toolni runtime imagega olib kirmaydi. Base image versiyasi pin qilinadi va yangilanadi. Process non-root userda ishlaydi, secret image yoki Dockerfilega yozilmaydi. `.dockerignore` build contextni kichraytiradi. Healthcheck readiness ma’nosiga mos bo‘lsin.
## Manba [Docker rasmiy boshlash qo‘llanmasi](https://docs.docker.com/get-started/)
Kod misoli
FROM eclipse-temurin:25-jdk AS build
WORKDIR /src
COPY . .
RUN ./mvnw -q -DskipTests package
FROM eclipse-temurin:25-jre
USER 10001
COPY --from=build /src/target/app.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Keng tarqalgan xatolar
- DB parolini image layer yoki Gitga commit qilingan compose faylida saqlash.
Mashqlar
- Spring va PostgreSQL uchun Compose stack yarating.
- Container ichida process root emasligini va restartdan keyin DB data qolishini tekshiring.
Teglar: career-05, ishga-tayyor, docker, devops