เดธเตเดตเดฏเด‚ เดตเดฟเดถเตเดตเดธเดฟเดšเตเดš เดšเต†เดฑเดฟเดฏ เดกเต‹เด•เตเด•เตผ เดšเดฟเดคเตเดฐเด™เตเด™เตพ*

["เดฆเดฟ เดฒเดฟเดฑเตเดฑเดฟเตฝ เดŽเดžเตเดšเดฟเตป เดฆเดพเดฑเตเดฑเต เด•เตเดกเต" เดŽเดจเตเดจ เด…เดฎเต‡เดฐเดฟเด•เตเด•เตป เด•เตเดŸเตเดŸเดฟเด•เดณเตเดŸเต† เด•เดฅเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด’เดฐเต เดชเดฐเดพเดฎเตผเดถเด‚ โ€” เดŸเตเดฐเดพเตปเดธเต. เด•เตเดฑเดฟเดชเตเดชเต]*

เดธเตเดตเดฏเด‚ เดตเดฟเดถเตเดตเดธเดฟเดšเตเดš เดšเต†เดฑเดฟเดฏ เดกเต‹เด•เตเด•เตผ เดšเดฟเดคเตเดฐเด™เตเด™เตพ*

เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดšเต†เดฑเดฟเดฏ เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเตเด•เตพ เดŽเด™เตเด™เดจเต† เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚

เด…เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏ เด’เดฐเต เด…เดญเดฟเดจเดฟเดตเต‡เดถเด‚

เด•เดดเดฟเดžเตเดž เด•เตเดฑเดšเตเดšเต เดฎเดพเดธเด™เตเด™เดณเดพเดฏเดฟ, เดˆ เด†เดถเดฏเด‚ เดŽเดจเตเดจเต† เด…เดฒเดŸเตเดŸเตเด•เดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต: เด’เดฐเต เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเต เดŽเดคเตเดฐเดคเตเดคเต‹เดณเด‚ เดšเต†เดฑเตเดคเดพเด•เตเด•เดพเดจเตเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚?

เดŽเดจเดฟเด•เตเด•เต เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเดฟ, เด†เดถเดฏเด‚ เดตเดฟเดšเดฟเดคเตเดฐเดฎเดพเดฃเต.

เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดธเดพเด™เตเด•เต‡เดคเดฟเด• เด•เดพเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เด•เดŸเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เดˆ เดตเดฟเดทเดฏเด‚ เดŽเดจเดฟเด•เตเด•เต เด‡เดคเตเดฐเดฏเดงเดฟเด•เด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดคเดพเด•เดพเดจเตเดณเตเดณ เด•เดพเดฐเดฃเดตเตเด‚ เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เดŽเด™เตเด™เดจเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดฒเดฟเดชเตเดชเด‚ เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต?

เด’เดฐเต เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เดžเด™เตเด™เตพ เดฆเตเตผเดฌเดฒเดคเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด• เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเต. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด†เดตเดถเตเดฏเดฎเดพเดฏเดคเต เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดตเดฏเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณเต‚ เดŽเดจเตเดจเดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เด‡เดฎเต‡เดœเตเด•เตพ เด•เต‚เดŸเตเดคเตฝ เดตเตƒเดคเตเดคเดฟเดฏเตเดณเตเดณเดคเดพเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดจเต‡เดŸเตเดŸเด‚ เด•เต‚เดŸเดฟเดฏเตเดฃเตเดŸเต - เดšเดฟเดคเตเดฐเด™เตเด™เตพ เด•เตเดฑเดšเตเดšเตเด•เต‚เดŸเดฟ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดŽเดจเตเดฑเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ เด‡เดคเต เด…เดคเตเดฐ เดชเตเดฐเดงเดพเดจเดฎเดฒเตเดฒ.

เดฆเดฏเดตเดพเดฏเดฟ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เดตเดฒเตเดชเตเดชเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดถเด™เตเด•เดฏเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด†เตฝเดชเตˆเตป เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดคเดจเตเดจเต† เดšเต†เดฑเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด…เดต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเด•เตเด‚.

เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต เดšเดฟเดคเตเดฐเด™เตเด™เตพ

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต เด…เดŸเดฟเดธเตเดฅเดพเดจ "เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต" เด‡เดฎเต‡เดœเตเด•เดณเตเดŸเต† เด’เดฐเต เดจเดฟเดฐ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต; เด…เดตเดฏเดฟเตฝ เดชเดพเด•เตเด•เต‡เดœเต เดฎเดพเดจเต‡เดœเตผเดฎเดพเตผ, เดทเต†เดฒเตเดฒเตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด•เดฃเตเดŸเต เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณ เดฎเดฑเตเดฑเต เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, 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,6 MB, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต เด‡เดฎเต‡เดœเต 50,9 MB เด†เดฃเต.

เดฎเตเตป เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฎเตเดฎเตพ เด’เดฐเต เดฎเตเดดเตเดตเตป เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเตเด‚ เดชเด•เตผเดคเตเดคเตเด•เดฏเดพเดฃเต†เดจเตเดจเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. /usr/local/lib/python3.7/site-packages, เด…เดคเดฟเตฝ เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดชเตˆเดคเตเดคเตบ เดฌเต‡เดธเต เด‡เดฎเต‡เดœเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเดฒเตเดณเตเดณ เดตเดฒเตเดชเตเดช เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เดšเดพเดžเตเดšเดพเดŸเตเดจเตเดจเตเดฃเตเดŸเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต.

เดˆ เดฒเต‡เด–เดจเด‚ เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ, เด—เต‚เด—เดฟเตพ เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต เดชเดฒ เดšเดฟเดคเตเดฐเด™เตเด™เดณเต†เดฏเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ: เดœเดพเดตเดฏเตเด‚ เดชเตˆเดคเตเดคเดฃเตเด‚ เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด•เดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เดชเตˆเดคเตเดคเตบ 2,7 เดจเตเด‚ 3,5 เดจเตเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเต‚.

เดšเต†เดฑเดฟเดฏ เดšเดฟเดคเตเดฐเด™เตเด™เตพ

เดšเต†เดฑเดฟเดฏ เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเตเดณเตเดณ เดŽเดจเตเดฑเต† เด…เดญเดฟเดจเดฟเดตเต‡เดถเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฎเตเด•เตเด•เต เดคเดฟเดฐเดฟเดšเตเดšเตเดตเดฐเดพเด‚.

เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต เด‡เดฎเต‡เดœเตเด•เตพ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เด˜เดŸเดจเดพเดชเดฐเดฎเดพเดฏเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เด•เดพเดฃเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต. เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด—เต‚เด—เดฟเดณเดฟเดจเตเดฑเต† เดฌเดฟเตฝเดกเต เดŸเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. bazelเดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฌเดพเดธเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเด‚ เดŽเดจเตเดฑเต† เดธเตเดตเดจเตเดคเด‚ เด‡เดฎเต‡เดœเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด•เตเดฑเดšเตเดšเต เดชเดฐเดฟเดถเตเดฐเดฎเด‚ เดŽเดŸเตเดคเตเดคเต (เดธเดคเตเดฏเดธเดจเตเดงเดฎเดพเดฏเดฟ เดชเดฑเดžเตเดžเดพเตฝ, เดšเด•เตเดฐเด‚ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฐเดธเด•เดฐเดตเตเด‚ เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธเดชเดฐเดตเตเดฎเดพเดฃเต). เดธเตเด•เต†เดฏเดฟเตฝ-เดกเต—เตบ เด‡เดฎเต‡เดœเตเด•เดณเตเดŸเต† เดธเตƒเดทเตเดŸเดฟ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต: เด’เดฐเต เด‡เดฎเต‡เดœเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดตเดณเดฐเต† เดฒเดณเดฟเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฏเด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เด•เตบเดธเต‹เดณเดฟเตฝ เด’เดฐเต เดตเดฐเดฟ เดฎเดพเดคเตเดฐเด‚: ะฟั€ะพัั‚ะพ ัะพะฑั€ะฐั‚ัŒ ะพะฑั€ะฐะท ะดะปั <ะฟั€ะธะปะพะถะตะฝะธะต>.

เด…เดชเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เด‡เดฎเต‡เดœเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดธเดตเดฟเดถเต‡เดท เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเต เด‰เดฃเตเดŸเต†เดจเตเดจเต เด…เดฑเดฟเดฏเตเด•, scratchเดธเตเด•เตเดฐเดพเดšเตเดšเต เด’เดฐเต "เดถเต‚เดจเตเดฏเดฎเดพเดฏ" เด‡เดฎเต‡เดœเดพเดฃเต; เด…เดคเดฟเตฝ เดซเดฏเดฒเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเตเดฑเต† เดญเดพเดฐเด‚ - เดตเต—! - เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ 77 เดฌเตˆเดฑเตเดฑเตเด•เตพ เด†เดฃเต†เด™เตเด•เดฟเดฒเตเด‚.

FROM scratch

เดธเตเด•เตเดฐเดพเดšเตเดšเต เด‡เดฎเต‡เดœเต

เดธเตเด•เตเดฐเดพเดšเตเดšเต เด‡เดฎเต‡เดœเดฟเดจเต เดชเดฟเดจเตเดจเดฟเดฒเต† เด†เดถเดฏเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดนเต‹เดธเตเดฑเตเดฑเต เดฎเต†เดทเต€เดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดคเต เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เดณเตเด‚ เด…เดคเดฟเดฒเต‡เด•เตเด•เต เดชเด•เตผเดคเตเดคเดพเดจเตเด‚ เดกเต‹เด•เตเด•เตผเดซเดฏเดฒเดฟเดจเตเดณเตเดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚ เดŽเดจเตเดจเดคเดพเดฃเต (เด…เดคเต เด…เดต เดชเด•เตผเดคเตเดคเตเดจเตเดจเดคเต เดชเต‹เดฒเต†เดฏเดพเดฃเต apt เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•), เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเดฟเดจเตเดจเต€เดŸเต, เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเต เดฏเดพเดฅเดพเตผเดคเตเดฅเตเดฏเดฎเดพเดฏเดฟเด•เตเด•เดดเดฟเดžเตเดžเดพเตฝ. เด‡เดคเต เดกเต‹เด•เตเด•เตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เดณเดฟเตฝ เดชเต‚เตผเดฃเตเดฃ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเตเดตเดดเดฟ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเตฝ เดชเต‚เตผเดฃเตเดฃ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด‚ เดจเตฝเด•เตเดจเตเดจเต.

เด‡เดจเดฟ เดจเดฎเตเดฎเตพ เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดˆ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดชเต‹เดฒเตเดณเตเดณเดต apt เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดต เดจเดฟเดฒเดตเดฟเดฒเต† เดฎเต†เดทเต€เดจเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด†เดคเตเดฏเดจเตเดคเดฟเด•เดฎเดพเดฏเดฟ, เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ Windows เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MacOS.

เด…เดคเตเด•เตŠเดฃเตเดŸเต เดเดฑเตเดฑเดตเตเด‚ เดšเต†เดฑเดฟเดฏ เดตเดฒเดฟเดชเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดฌเต‡เดธเต เด‡เดฎเต‡เดœเต เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เตเด•เดพเดฏเดฟ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดเดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดŽเดจเตเดฑเต† เดธเตเดตเดจเตเดคเด‚ เด‰เดชเด•เดฐเดฃเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดžเดพเตป เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. Ubuntu/Debian, เด’เดฐเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดชเตเดชเต เดจเดŸเดคเตเดคเดฟ (เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเดจเตเดจเต) เด…เดตเดฏเตเดŸเต† เด†เดถเตเดฐเดฟเดคเดคเตเดตเด™เตเด™เตพ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ. เดธเตเดฐเด•เตเดทเดพ เด…เดชเด•เดŸเดธเดพเดงเตเดฏเดคเด•เตพ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดชเดพเด•เตเด•เต‡เดœเดฟเดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเต เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต.

เดžเดพเตป เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเต เดชเต‡เดฐเดฟเดŸเตเดŸเต fetchy, เด•เดพเดฐเดฃเด‚ เด…เดตเตป... เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ เด•เตŠเดฃเตเดŸเตเดตเดฐเตเดจเตเดจเต... [เด‡เด‚เด—เตเดฒเต€เดทเดฟเตฝ เดจเดฟเดจเตเดจเต "fetch", "to bring" โ€” trans. note]. เดˆ เด‰เดชเด•เดฐเดฃเด‚ เด’เดฐเต เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดตเดดเดฟเดฏเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดชเด•เตเดทเต‡ เด’เดฐเต API-เดฏเตเด‚ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด’เดฐเต เดšเดฟเดคเตเดฐเด‚ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เดพเตป, fetchy (เด‡เดคเตเดคเดตเดฃ เด’เดฐเต เดชเตˆเดคเตเดคเตบ เด‡เดฎเต‡เดœเต เดŽเดŸเตเด•เตเด•เดพเด‚), เดจเดฟเด™เตเด™เตพ CLI เด‡เดคเตเดชเต‹เดฒเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต: fetchy dockerize pythonเดจเดฟเด™เตเด™เดณเต‹เดŸเต เดŸเดพเตผเด—เต†เดฑเตเดฑเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดตเตเด‚ เด•เต‹เดกเต เดจเดพเดฎเดตเตเด‚ เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดŸเต‡เด•เตเด•เดพเด‚ เด•เดพเดฐเดฃเด‚ fetchy เดจเดฟเดฒเดตเดฟเตฝ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต Debian ะธ Ubuntu.

เด‡เดจเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดเดคเตŠเด•เตเด•เต† เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เดณเดพเดฃเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด…เดจเดพเดตเดถเตเดฏเดฎเต†เดจเตเดจเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเดจเตเด‚ (เดจเดฎเตเดฎเตเดŸเต† เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ) เด…เดตเดฏเต† เด’เดดเดฟเดตเดพเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตˆเดคเตเดคเตบ เดชเต‡เดณเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เดชเต‡เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† เด‡เดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดซเดฒเด™เตเด™เตพ

เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตˆเดคเตเดคเตบ เด‡เดฎเต‡เดœเต เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต. fetchy dockerize python3.5 เด‡เดคเดฟเดจเตเดฑเต† เดญเดพเดฐเด‚ 35MB เดฎเดพเดคเตเดฐเดฎเดพเดฃเต (เดญเดพเดตเดฟเดฏเดฟเตฝ เด‡เดคเต เด•เต‚เดŸเตเดคเตฝ เดญเดพเดฐเด‚ เด•เตเดฑเดžเตเดžเดคเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เด‰เดฑเดชเตเดชเตเดฃเตเดŸเต). เด…เด™เตเด™เดจเต†, เดกเดฟเดธเตเดŸเตเดฐเต‹เดฒเต†เดธเต เด‡เดฎเต‡เดœเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดฑเตเดฑเตŠเดฐเต 15MB เด•เตเดฑเดฏเตเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดžเตเดžเต.

เด‡เดคเตเดตเดฐเต† เดถเต‡เด–เดฐเดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดตเดฟเดŸเต†.

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต - เด‡เดตเดฟเดŸเต†.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•โ€”เดธเดนเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดŽเดจเดฟเด•เตเด•เต เดธเดจเตเดคเต‹เดทเดฎเตเดฃเตเดŸเต :) เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดฎเดฑเตเดฑเต เดชเดพเด•เตเด•เต‡เดœเต เดฎเดพเดจเต‡เดœเตผเดฎเดพเดฐเต† เดซเต†เดšเตเดšเดฟเดฒเต‡เด•เตเด•เต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดžเดพเตป เดจเดฟเดฒเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดฎเตพเดŸเตเดŸเดฟ-เดธเตเดฑเตเดฑเต‡เดœเต เดฌเดฟเตฝเดกเตเด•เตพ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster