ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому
ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€

πŸ”₯ УскоряСм сборку Docker-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²: слои ΠΈ кэш - наши Π΄Ρ€ΡƒΠ·ΡŒΡ

πŸ”₯ УскоряСм сборку Docker-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²: слои ΠΈ кэш - наши Π΄Ρ€ΡƒΠ·ΡŒΡ Когда сборка Dockerfile Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ - это ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ dev-loop'Ρƒ. А вСдь ΠΌΠΎΠΆΠ½ΠΎ сильно ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒΡΡ с ΠΏΠ°Ρ€ΠΎΠΉ простых ΠΏΡ€Π°Π²ΠΈΠ» πŸ‘‡ 🧠 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ускорСния: 1. Максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ кэш Docker ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ слой. Если слой Π½Π΅ измСнился - ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ➀ Π‘Π½Π°Ρ‡Π°Π»Π° COPY зависимости, ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄: COPY requirements.txt . RUN pip install -r requirements.txt # ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ COPY . . # Π½Π΅ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎ ΠΏΡ€ΠΈ любом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ 2. ОбъСдиняСм RUN-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ МСньшС слоёв - быстрСС сборка ΠΈ push: RUN apt update && apt install -y curl git \ && rm -rf /var/lib/apt/lists/* 3. .dockerignore УбСдись, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΡˆΡŒ лишниС Ρ„Π°ΠΉΠ»Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, .git/, tests/, node_modules/): .git node_modules *.log __pycache__/ 4. МСньшС COPY, большС multi-stage РаздСляй сборку ΠΈ runtime - Π½Π΅ таскай компиляторы Π² ΠΏΡ€ΠΎΠ΄: FROM golang:1.20 AS builder WORKDIR /app COPY . . RUN go build -o app FROM debian:bullseye-slim COPY --from=builder /app/app /usr/bin/app CMD ["app"] 5. ΠšΡΡˆΠΈΡ€ΡƒΠΉ pip/npm/go-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ β†’ Π² Dockerfile сначала ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ Ρ„Π°ΠΉΠ» зависимостСй, ΡΡ‚Π°Π²ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ - вСсь ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. πŸ“Œ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ эти ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ CI/CD, Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ сборку ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ. Π§Π΅ΠΌ мСньшС слоёв измСняСтся - Ρ‚Π΅ΠΌ быстрСС вСсь процСсс. Подпишись πŸ‘‰ @i_DevOps

767 просмотров

Канал Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€Π°

3Β 014 подписчиков Β· IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

Π•Ρ‰Ρ‘ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Β«IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ»

Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС

Π”Π²Π° Ρ€Π°Π·Π° Π² нСдСлю свСТиС посты этого ΠΊΠ°Π½Π°Π»Π° β€” Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ Π² Π»ΠΈΡ‡Π½ΡƒΡŽ Π»Π΅Π½Ρ‚Ρƒ. Π‘Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска ΠΊΠ°Π½Π°Π»Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.