Sobes.tech
Senior

Dockerдеги көп этаптуу курулуш деген эмне?

sobes.tech AI

AIден жооп

Dockerде көп сатылы курулуш — бул техникалык ыкма, ал бир Dockerfile ичинде бир нече курулуш этабын түзүүгө мүмкүндүк берет, анда ар бир этап өзүнүн негизги сүрөтүн колдонушу мүмкүн. Негизги идея — курулуш этаптарын (мисалы, компиляция, көзкарандылыктарды орнотуу) акыркы сүрөттөн бөлүп, акыркы контейнерге колдонуу үчүн гана керектүү файлдар киргизүү, кээ бир инструменттер жана артефактарсыз.

Бул акыркы сүрөттүн өлчөмүн маанилүү деңгээлде кыскартат жана коопсуздукту жогорулатат, анткени акыркы контейнерде курулуш инструменттери жок.

Мульти-этаптуу курулуш менен Dockerfile мисалы:

# Курулуш этабы
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build

# Аякталган этап
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html

Бул жерде биринчи React тиркемеси курулат, андан соң гана даяр статикалык файлдар жеңил nginx сүрөтүнө көчүрүлөт.