[āĻāĻŽā§āĻ°āĻŋāĻāĻžāĻ¨ āĻļāĻŋāĻļā§āĻĻā§āĻ° āĻ°ā§āĻĒāĻāĻĨāĻžāĻ° āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ "āĻĻā§āĻ¯ āĻ˛āĻŋāĻāĻ˛ āĻāĻā§āĻāĻŋāĻ¨ āĻĻā§āĻ¯āĻžāĻ āĻā§āĻĄ" - āĻĒā§āĻ°āĻžāĻ¯āĻŧāĨ¤ āĻāĻ˛āĻŋ]*
āĻāĻŋāĻāĻžāĻŦā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ
āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻŦā§āĻļ
āĻāĻ¤ āĻāĻ¯āĻŧā§āĻ āĻŽāĻžāĻ¸ āĻ§āĻ°ā§, āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻ āĻāĻ¤āĻāĻž āĻā§āĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻŽāĻā§āĻ¨ āĻšāĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻ¨āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻ˛āĻā§?
āĻŦā§āĻāĻ˛āĻžāĻŽ, āĻāĻžāĻŦāĻ¨āĻžāĻāĻž āĻ āĻĻā§āĻā§āĻ¤āĨ¤
āĻāĻŽāĻŋ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻā§āĻ¨ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻŽāĻžāĻā§ āĻāĻ¤ āĻŦāĻŋāĻ°āĻā§āĻ¤ āĻāĻ°ā§āĻā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĻā§āĻŦāĻŋāĻā§āĻ¨ āĻāĻ°ā§āĨ¤
āĻā§āĻ¨ āĻāĻāĻžāĻ° āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ
āĻĄāĻāĻžāĻ° āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻ° āĻĢāĻ˛ā§ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŽāĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻāĨ¤ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§, āĻāĻŽāĻ°āĻž āĻāĻŦāĻŋāĻā§āĻ˛āĻŋāĻā§ āĻāĻ°āĻ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻŋ, āĻāĻžāĻ°āĻŖ āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ āĻĨāĻžāĻā§ā§ˇ
āĻāĻ°āĻ āĻāĻāĻāĻŋ āĻā§āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§āĻā§ - āĻāĻŋāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻāĻāĻā§ āĻĻā§āĻ°ā§āĻ¤ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§, āĻāĻŽāĻžāĻ° āĻŽāĻ¤ā§, āĻāĻāĻŋ āĻāĻ¤ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧāĨ¤
āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨: āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĻā§āĻŦāĻŋāĻā§āĻ¨ āĻšāĻ¨, āĻ¤āĻŦā§ āĻāĻ˛āĻĒāĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻā§āĻĻā§āĻ°āĻā§ āĻā§āĻ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤
āĻĄāĻŋāĻ¸ā§āĻā§āĻ°ā§āĻ˛ā§āĻ¸ āĻāĻŽā§āĻ
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
, āĻāĻžāĻ°āĻŖ āĻ¸ā§... āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°ā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§... āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ [āĻāĻāĻ°ā§āĻā§ āĻĨā§āĻā§ "āĻāĻ¨ā§āĻ¨", "āĻāĻ¨ā§" - āĻĒā§āĻ°āĻžāĻ¯āĻŧāĨ¤ āĻāĻ˛āĻŋ]āĨ¤ āĻā§āĻ˛āĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻžāĻ āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻāĻāĻŋ API āĻ
āĻĢāĻžāĻ° āĻāĻ°ā§āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻŽā§āĻ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ fetchy
(āĻāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻŽā§āĻ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ), āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻ§ā§ āĻāĻāĻāĻžāĻŦā§ CLI āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§: fetchy dockerize python
. āĻāĻĒāĻ¨āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ
āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻŦāĻ āĻā§āĻĄāĻ¨āĻžāĻŽ āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻžāĻ°āĻŖ fetchy
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻāĻŦāĻ āĻāĻŦā§āĻ¨ā§āĻā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻā§ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ (āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¸āĻā§āĻā§) āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¨ā§ˇ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĒāĻžāĻāĻĨāĻ¨ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻ¨āĻž āĻāĻ°ā§āĻ āĻāĻžāĻ˛ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
Đ ĐĩСŅĐģŅŅĐ°ŅŅ
āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻŽā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ fetchy dockerize python3.5
āĻāĻāĻ¨ āĻŽāĻžāĻ¤ā§āĻ° 35MB (āĻāĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻāĻāĻŋ āĻāĻ°āĻ āĻšāĻžāĻ˛āĻāĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§)āĨ¤ āĻĻā§āĻāĻž āĻ¯āĻžāĻā§āĻā§ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻ¸ā§āĻā§āĻ°ā§āĻ˛ā§āĻ¸ āĻāĻŽā§āĻ āĻĨā§āĻā§ āĻāĻ°āĻ 15 āĻĄāĻžāĻŦā§āĻ˛ā§āĻĄāĻžāĻŦā§āĻ˛ā§ āĻļā§āĻ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻāĻā§āĻšā§āĻ¤ āĻ¸āĻŦ āĻāĻŦāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ -
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻā§āĻ¨ āĻ¤āĻŦā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ - āĻāĻŽāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°ā§ āĻā§āĻļāĻŋ āĻšāĻŦ :) āĻāĻ°āĻ āĻŦā§āĻļāĻŋ, āĻāĻŽāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻāĻĻā§āĻ° āĻĢā§āĻāĻŋāĻ¤ā§ āĻāĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°āĻāĻŋ, āĻ¯āĻžāĻ¤ā§ āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻ¸ā§āĻā§āĻ āĻŦāĻŋāĻ˛ā§āĻĄā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com