рд▓рд╣рд╛рди рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рдЬреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рддрдГрд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ*

[рдЕрдореЗрд░рд┐рдХрди рдореБрд▓рд╛рдВрдЪреНрдпрд╛ рдкрд░реАрдХрдереЗрдЪрд╛ рд╕рдВрджрд░реНрдн "рдж рд▓рд┐рдЯрд▓ рдЗрдВрдЬрд┐рди рджреЕрдЯ рдХреБрдб" - рдЕрдВрджрд╛рдЬреЗ. рд▓реЗрди]*

рд▓рд╣рд╛рди рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рдЬреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рддрдГрд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ*

рдЖрдкрд▓реНрдпрд╛ рдЧрд░рдЬреЗрд╕рд╛рдареА рд▓рд╣рд╛рди рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдХрд╢рд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреНрдпрд╛

рдЕрд╕рд╛рдорд╛рдиреНрдп рдзреНрдпрд╛рд╕

рдЧреЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рдорд╣рд┐рдиреНрдпрд╛рдВрдкрд╛рд╕реВрди, рдорд▓рд╛ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рдХрд┐рддреА рд▓рд╣рд╛рди рдЕрд╕реВ рд╢рдХрддреЗ рдпрд╛рдЪреЗ рд╡реЗрдб рд▓рд╛рдЧрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рддрд░реАрд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓реВ рдЖрд╣реЗ?

рдорд▓рд╛ рд╕рдордЬрд▓реЗ, рдХрд▓реНрдкрдирд╛ рд╡рд┐рдЪрд┐рддреНрд░ рдЖрд╣реЗ.

рдореА рддрдкрд╢реАрд▓ рдЖрдгрд┐ рддрд╛рдВрддреНрд░рд┐рдХ рдЧреЛрд╖реНрдЯреАрдВрдордзреНрдпреЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдорд▓рд╛ рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪрд╛ рдЗрддрдХрд╛ рддреНрд░рд╛рд╕ рдХрд╛ рдЭрд╛рд▓рд╛ рдЖрдгрд┐ рддреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╕рд╛ рддреНрд░рд╛рд╕ рджреЗрддреЛ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ.

рдЖрдХрд╛рд░ рдХрд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛

рдбреЙрдХрд░ рдкреНрд░рддрд┐рдореЗрдЪреА рд╕рд╛рдордЧреНрд░реА рдХрдореА рдХрд░реВрди, рдЖрдореНрд╣реА рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреА рд╕реВрдЪреА рдХрдореА рдХрд░рддреЛ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣реА рдкреНрд░рддрд┐рдорд╛ рдЕрдзрд┐рдХ рд╕реНрд╡рдЪреНрдЫ рдмрдирд╡рддреЛ, рдХрд╛рд░рдг рддреНрдпрд╛рдордзреНрдпреЗ рдХреЗрд╡рд│ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЧреЛрд╖реНрдЯреА рдЕрд╕рддрд╛рдд.

рдЖрдгрдЦреА рдПрдХ рд▓рд╣рд╛рди рдлрд╛рдпрджрд╛ рдЖрд╣реЗ - рдкреНрд░рддрд┐рдорд╛ рдереЛрдбреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рдкрд░рдВрддреБ, рдорд╛рдЭреНрдпрд╛ рдорддреЗ, рд╣реЗ рдЗрддрдХреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА.

рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛: рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдХрд╛рд░рд╛рдмрджреНрджрд▓ рдХрд╛рд│рдЬреА рд╡рд╛рдЯрдд рдЕрд╕реЗрд▓, рддрд░ рдЕрд▓реНрдкрд╛рдЗрди рд╕реНрд╡рддрдГ рд▓рд╣рд╛рди рджрд┐рд╕рдд рдЖрд╣реЗ рдЖрдгрд┐ рдХрджрд╛рдЪрд┐рдд рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд┐рдЯ рд╣реЛрдИрд▓.

рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕ рдкреНрд░рддрд┐рдорд╛

рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕ рдкреНрд░рдХрд▓реНрдк рдореВрд▓рднреВрдд "рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕" рдкреНрд░рддрд┐рдорд╛рдВрдЪреА рдирд┐рд╡рдб рдСрдлрд░ рдХрд░рддреЗ, рддреНрдпрд╛рдордзреНрдпреЗ рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рд╢реЗрд▓ рдЖрдгрд┐ рдЗрддрд░ рдЙрдкрдпреБрдХреНрддрддрд╛ рдирд╕рддрд╛рдд рдЬреНрдпрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрдирд╡рд░ рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рд╕рд╡рдп рдЖрд╣реЗ. рдкрд░рд┐рдгрд╛рдореА, рдЬрд╕реЗ рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд╛рдкрд░рд╛ pip ╨╕ apt рдХрд╛рдо рдХрд░рдгрд╛рд░ рдирд╛рд╣реА:

FROM gcr.io/distroless/python3
RUN  pip3 install numpy

рдкрд╛рдпрдерди 3 рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕ рдЗрдореЗрдЬ рд╡рд╛рдкрд░реВрди рдбреЙрдХрд░рдлрд╛рдЗрд▓

Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM gcr.io/distroless/python3
 ---> 556d570d5c53
Step 2/2 : RUN  pip3 install numpy
 ---> Running in dbfe5623f125
/bin/sh: 1: pip3: not found

рдкрд┐рдк рдЗрдореЗрдЬрдордзреНрдпреЗ рдирд╛рд╣реА

рд╕рд╣рд╕рд╛ рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдбрджреНрд╡рд╛рд░реЗ рд╕реЛрдбрд╡рд┐рд▓реА рдЬрд╛рддреЗ:

FROM python:3 as builder
RUN  pip3 install numpy

FROM gcr.io/distroless/python3
COPY --from=builder /usr/local/lib/python3.7/site-packages /usr/local/lib/python3.5/

рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдЕрд╕реЗрдВрдмреНрд▓реА

рдкрд░рд┐рдгрд╛рдо 130MB рдЖрдХрд╛рд░рд╛рдЪреА рдкреНрд░рддрд┐рдорд╛ рдЖрд╣реЗ. рдЦреВрдк рд╡рд╛рдИрдЯ рдирд╛рд╣реА! рддреБрд▓рдиреЗрд╕рд╛рдареА: рдбреАрдлреЙрд▓реНрдЯ рдкрд╛рдпрдерди рдкреНрд░рддрд┐рдореЗрдЪреЗ рд╡рдЬрди 929MB рдЖрд╣реЗ рдЖрдгрд┐ "рдкрд╛рддрд│" рдПрдХ (3,7-slim) - 179MB, рдЕрд▓реНрдкрд╛рдЗрди рдкреНрд░рддрд┐рдорд╛ (3,7-alpine) 98,6MB рдЖрд╣реЗ, рддрд░ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реА рдмреЗрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕ рдЗрдореЗрдЬ 50,9MB рдЖрд╣реЗ.

рдорд╛рдЧреАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ рдЖрдкрдг рд╕рдВрдкреВрд░реНрдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЙрдкреА рдХрд░рдд рдЖрд╣реЛрдд рд╣реЗ рджрд╛рдЦрд╡рд┐рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ /usr/local/lib/python3.7/site-packages, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╕рд▓реЗрд▓реЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдЕрд╕реВ рд╢рдХрддреЗ. рдЬрд░реА рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рд╕рд░реНрд╡ рд╡рд┐рджреНрдпрдорд╛рди рдкрд╛рдпрдерди рдмреЗрд╕ рдкреНрд░рддрд┐рдорд╛рдВрдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдд рдлрд░рдХ рдЖрд╣реЗ.

рд▓реЗрдЦрдирд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, Google distroless рдЕрдиреЗрдХ рдкреНрд░рддрд┐рдорд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реА: Java рдЖрдгрд┐ Python рдЕрдЬреВрдирд╣реА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдЖрд╣реЗрдд, рдЖрдгрд┐ Python рдлрдХреНрдд 2,7 рдЖрдгрд┐ 3,5 рд╕рд╛рдареА рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗ.

рд▓рд╣рд╛рди рдкреНрд░рддрд┐рдорд╛

рд▓рд╣рд╛рди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдорд╛рдЭреНрдпрд╛ рдзреНрдпрд╛рд╕рд╛рдХрдбреЗ рдкрд░рдд.

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдорд▓рд╛ рд╡рд┐рд╕реНрдХрд│реАрдд рдкреНрд░рддрд┐рдорд╛ рдХрд╢рд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рд╣реЗ рдкрд╣рд╛рдпрдЪреЗ рд╣реЛрддреЗ. рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЧреБрдЧрд▓рдЪреЗ рдмрд┐рд▓реНрдб рдЯреВрд▓ рд╡рд╛рдкрд░рддреЛ bazel. рддрдерд╛рдкрд┐, рдмреЕрдЭреЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рдХрд╛рдо рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ (рдЖрдгрд┐ рдЦрд░реЗ рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рдЪрд╛рдХ рдкреБрдиреНрд╣рд╛ рд╢реЛрдзрдгреЗ рдордЬреЗрджрд╛рд░ рдЖрдгрд┐ рд╢реИрдХреНрд╖рдгрд┐рдХ рдЖрд╣реЗ). рдорд▓рд╛ рд▓рд╣рд╛рди рдкреНрд░рддрд┐рдорд╛рдВрдЪреА рдирд┐рд░реНрдорд┐рддреА рд╕реБрд▓рдн рдХрд░рд╛рдпрдЪреА рд╣реЛрддреА: рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд░рд┐рдпрд╛ рдЕрддреНрдпрдВрдд рд╕реЛрдкреА рдЕрд╕рд╛рд╡реА, рд╕рд╛рдорд╛рдиреНрдп. рдЬреЗрдгреЗрдХрд░реВрди рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рдирд╛рд╣реАрдд, рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рдлрдХреНрдд рдПрдХ рдУрд│: ╨┐╤А╨╛╤Б╤В╨╛ ╤Б╨╛╨▒╤А╨░╤В╤М ╨╛╨▒╤А╨░╨╖ ╨┤╨╗╤П <╨┐╤А╨╕╨╗╨╛╨╢╨╡╨╜╨╕╨╡>.

рдореНрд╣рдгреВрди, рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреА рд╕реНрд╡рддрдГрдЪреА рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреА рдЕрд╕реЗрд▓, рддрд░ рдЬрд╛рдгреВрди рдШреНрдпрд╛: рдЕрд╢реА рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рдЖрд╣реЗ, scratch. рд╕реНрдХреНрд░реЕрдЪ рд╣реА рдПрдХ "рд░рд┐рдХреНрдд" рдкреНрд░рддрд┐рдорд╛ рдЖрд╣реЗ, рддреНрдпрд╛рдд рдХреЛрдгрддреНрдпрд╛рд╣реА рдлрд╛рдпрд▓реА рдирд╛рд╣реАрдд, рдЬрд░реА рддреНрдпрд╛рдЪреЗ рд╡рдЬрди рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЖрд╣реЗ - рд╡реНрд╡рд╛! - 77 рдмрд╛рдЗрдЯреНрд╕.

FROM scratch

рд╕реНрдХреНрд░реЕрдЪ рдкреНрд░рддрд┐рдорд╛

рд╕реНрдХреНрд░реЕрдЪ рдЗрдореЗрдЬрдЪреА рдХрд▓реНрдкрдирд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рд╣реЛрд╕реНрдЯ рдорд╢реАрдирдордзреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрд╡рд▓рдВрдмрдирд╛рдЪреА рддреНрдпрд╛рдордзреНрдпреЗ рдХреЙрдкреА рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдПрдХрддрд░ рддреНрдпрд╛рдВрдирд╛ рдбреЙрдХрд░рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ (рд╣реЗ рддреНрдпрд╛рдВрдирд╛ рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. apt рдЖрдгрд┐ рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛), рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдХрд╛рд░ рдЭрд╛рд▓реНрдпрд╛рд╡рд░. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░рдордзреАрд▓ рд╕рд╛рдордЧреНрд░реА рдкреВрд░реНрдгрдкрдгреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдкреНрд░рддрд┐рдореЗрдЪрд╛ рдЖрдХрд╛рд░ рдкреВрд░реНрдгрдкрдгреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЖрддрд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╣реЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдХрд╕реЗ рддрд░реА рдЧреЛрд│рд╛ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рд╕рд╛рд░рдЦреА рд╡рд┐рджреНрдпрдорд╛рди рд╕рд╛рдзрдиреЗ apt рддреБрдореНрд╣рд╛рд▓рд╛ рдкреЕрдХреЗрдЬреЗрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд, рдкрд░рдВрддреБ рддреЗ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдорд╢реАрдирд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рддрд░реАрд╣реА, рд╡рд┐рдВрдбреЛрдЬ рдХрд┐рдВрд╡рд╛ рдореЕрдХрдУрдПрд╕рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реАрдд.

рдореНрд╣рдгреВрди рдореА рдорд╛рдЭреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╕рд╛рдзрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдЭрд╛рд▓реЛ рдЬреЗ рдЖрдкреЛрдЖрдк рд╕рд░реНрд╡рд╛рдд рд▓рд╣рд╛рди рдЖрдХрд╛рд░рд╛рдЪреА рдореВрд│ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реЗрд▓ рдЖрдгрд┐ рдХреЛрдгрддрд╛рд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреЗрдЦреАрд▓ рдЪрд╛рд▓рд╡реЗрд▓. рдореА рдЙрдмрдВрдЯреВ/рдбреЗрдмрд┐рдпрди рдкреЕрдХреЗрдЬреЗрд╕ рд╡рд╛рдкрд░рд▓реА, рдирд┐рд╡рдб рдХреЗрд▓реА (рдереЗрдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬрдордзреВрди рдкреЕрдХреЗрдЬреЗрд╕ рдорд┐рд│рд╡рдгреЗ) рдЖрдгрд┐ рд╡рд╛рд░рдВрд╡рд╛рд░ рддреНрдпрд╛рдВрдЪреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╢реЛрдзрд▓реЗ. рдкреНрд░реЛрдЧреНрд░рд╛рдордиреЗ рдкреЕрдХреЗрдЬрдЪреА рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рдЖрд╡реГрддреНрддреА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрддреЗ, рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреЗ рдзреЛрдХреЗ рдХрдореА рдХрд░реВрди.

рдореА рд╕рд╛рдзрдирд╛рдЪреЗ рдирд╛рд╡ рджрд┐рд▓реЗ fetchy, рдХрд╛рд░рдг рддреЛ... рд╢реЛрдзрддреЛ рдЖрдгрд┐ рдЖрдгрддреЛ... рдХрд╛рдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ [рдЗрдВрдЧреНрд░рдЬреАрддреВрди "рдЖрдгрдгреЗ", "рдЖрдгрдгреЗ" - рдЕрдВрджрд╛рдЬреЗ. рд▓реЗрди]. рд╣реЗ рдЯреВрд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдПрдкреАрдЖрдп рдСрдлрд░ рдХрд░рддреЗ.

рд╡рд╛рдкрд░реВрди рдкреНрд░рддрд┐рдорд╛ рдПрдХрддреНрд░ рдХрд░рдгреЗ fetchy (рдпрд╛рд╡реЗрд│реА рдкрд╛рдпрдерди рдЗрдореЗрдЬ рдШреЗрдК), рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдпрд╛рдкреНрд░рдорд╛рдгреЗ CLI рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ: fetchy dockerize python. рддреБрдореНрд╣рд╛рд▓рд╛ рдЯрд╛рд░реНрдЧреЗрдЯ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдо рдЖрдгрд┐ рд╕рд╛рдВрдХреЗрддрд┐рдХ рдирд╛рд╡ рд╡рд┐рдЪрд╛рд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдХрд╛рд░рдг fetchy рд╕рдзреНрдпрд╛ рдлрдХреНрдд рдбреЗрдмрд┐рдпрди рдЖрдгрд┐ рдЙрдмрдВрдЯреВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреЕрдХреЗрдЬреЗрд╕ рд╡рд╛рдкрд░рддрд╛рдд.

рдЖрддрд╛ рддреБрдореНрд╣реА рдирд┐рд╡рдбреВ рд╢рдХрддрд╛ рдХреА рдХреЛрдгрддреНрдпрд╛ рдЕрд╡рд▓рдВрдмрдирд╛рдВрдЪреА рдЕрдЬрд┐рдмрд╛рдд рдЧрд░рдЬ рдирд╛рд╣реА (рдЖрдордЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд) рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╡рдЧрд│реВ рд╢рдХрддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкрд╛рдпрдерди рдкрд░реНрд▓рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ, рдЬрд░реА рддреЗ рдкрд░реНрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдирд┐рдХрд╛рд▓

рдЖрджреЗрд╢ рд╡рд╛рдкрд░реВрди рдкрд╛рдпрдерди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХреЗрд▓реА fetchy dockerize python3.5 рд╡рдЬрди рдлрдХреНрдд 35MB (рдорд▓рд╛ рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рднрд╡рд┐рд╖реНрдпрд╛рдд рддреЗ рдЖрдгрдЦреА рд╣рд▓рдХреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ). рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдЖрдореНрд╣реА рдбрд┐рд╕реНрдЯреНрд░реЛрд▓реЗрд╕ рдЗрдореЗрдЬрдордзреВрди рдЖрдгрдЦреА 15 рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЛ.

рддреБрдореНрд╣реА рдЖрддрд╛рдкрд░реНрдпрдВрдд рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдорд╛ рдкрд╛рд╣реВ рд╢рдХрддрд╛ рдпреЗрдереЗ.

рдкреНрд░рдХрд▓реНрдк - рдпреЗрдереЗ.

рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЧрд╣рд╛рд│ рдЕрд╕рд▓реНрдпрд╛рд╕, рдлрдХреНрдд рдПрдХ рд╡рд┐рдирдВрддреА рддрдпрд╛рд░ рдХрд░рд╛ - рдорд▓рд╛ рдорджрдд рдХрд░рдгреНрдпрд╛рдд рдЖрдирдВрдж рд╣реЛрдИрд▓ :) рддреНрдпрд╛рд╣реВрдирд╣реА рдЕрдзрд┐рдХ, рдореА рд╕рдзреНрдпрд╛ рдЗрддрд░ рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдВрдирд╛ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╡рд░ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗ, рдЬреЗрдгреЗрдХрд░реВрди рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдбрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛