АлпинС ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π° Π”ΠΎΡ†ΠΊΠ΅Ρ€ Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ Π·Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 50 ΠΏΡƒΡ‚Π° ΡΠΏΠΎΡ€ΠΈΡ˜Π΅, Π° сликС су 2 ΠΏΡƒΡ‚Π° Ρ‚Π΅ΠΆΠ΅

АлпинС ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π° Π”ΠΎΡ†ΠΊΠ΅Ρ€ Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ Π·Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½ 50 ΠΏΡƒΡ‚Π° ΡΠΏΠΎΡ€ΠΈΡ˜Π΅, Π° сликС су 2 ΠΏΡƒΡ‚Π° Ρ‚Π΅ΠΆΠ΅

АлпинС Π›ΠΈΠ½ΡƒΠΊ сС чСсто ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ ΠΊΠ°ΠΎ основна слика Π·Π° Π”ΠΎΡ†ΠΊΠ΅Ρ€. Π Π΅Ρ‡Π΅Π½ΠΎ Π²Π°ΠΌ јС Π΄Π° Ρ›Π΅ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ АлпинС-Π° ΡƒΡ‡ΠΈΠ½ΠΈΡ‚ΠΈ вашС Π³Ρ€Π°Π΄ΡšΠ΅ мањим, Π° процСс ΠΈΠ·Π³Ρ€Π°Π΄ΡšΠ΅ Π±Ρ€ΠΆΠΈΠΌ.

Али Π°ΠΊΠΎ користитС АлпинС Π›ΠΈΠ½ΡƒΠΊ Π·Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅, ΠΎΠ½Π΄Π°:

  • Π§ΠΈΠ½ΠΈ вашС Π³Ρ€Π°Π΄ΡšΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡ€ΠΈΡ˜ΠΈΠΌ
  • ΠŸΠΎΠ²Π΅Ρ›Π°Π²Π° вашС сликС
  • Π“ΡƒΠ±ΠΈΡ‚Π΅ својС Π²Ρ€Π΅ΠΌΠ΅
  • И Π½Π° ΠΊΡ€Π°Ρ˜Ρƒ ΠΌΠΎΠΆΠ΅ ΠΈΠ·Π°Π·Π²Π°Ρ‚ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ΅ Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½Ρƒ ΠΈΠ·Π²ΠΎΡ’Π΅ΡšΠ°


Π₯ајдС Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ Π·Π°ΡˆΡ‚ΠΎ сС АлпинС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅, Π°Π»ΠΈ Π·Π°ΡˆΡ‚ΠΎ Π³Π° ΠΈΠΏΠ°ΠΊ Π½Π΅ Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° користитС са ΠŸΠΈΡ‚Ρ…ΠΎΠ½-ΠΎΠΌ.

Π—Π°ΡˆΡ‚ΠΎ Ρ™ΡƒΠ΄ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Ρƒ АлпинС?

ΠŸΡ€Π΅Ρ‚ΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌΠΎ Π΄Π° Π½Π°ΠΌ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½ Π³Ρ†Ρ† ΠΊΠ°ΠΎ Π΄Π΅ΠΎ нашС сликС ΠΈ ΠΆΠ΅Π»ΠΈΠΌΠΎ Π΄Π° ΡƒΠΏΠΎΡ€Π΅Π΄ΠΈΠΌΠΎ АлпинС Π›ΠΈΠ½ΡƒΠΊ са Π£Π±ΡƒΠ½Ρ‚Ρƒ 18.04 Ρƒ смислу Π±Ρ€Π·ΠΈΠ½Π΅ ΠΈΠ·Ρ€Π°Π΄Π΅ ΠΈ ΠΊΠΎΠ½Π°Ρ‡Π½Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ сликС.

ΠŸΡ€Π²ΠΎ, ΠΏΡ€Π΅ΡƒΠ·ΠΌΠ΅ΠΌΠΎ Π΄Π²Π΅ сликС ΠΈ ΡƒΠΏΠΎΡ€Π΅Π΄ΠΈΠΌΠΎ ΡšΠΈΡ…ΠΎΠ²Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅:

$ docker pull --quiet ubuntu:18.04
docker.io/library/ubuntu:18.04
$ docker pull --quiet alpine
docker.io/library/alpine:latest
$ docker image ls ubuntu:18.04
REPOSITORY          TAG        IMAGE ID         SIZE
ubuntu              18.04      ccc6e87d482b     64.2MB
$ docker image ls alpine
REPOSITORY          TAG        IMAGE ID         SIZE
alpine              latest     e7d92cdc71fe     5.59MB

Као ΡˆΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅, основна слика Π·Π° АлпинС јС ΠΌΠ½ΠΎΠ³ΠΎ мања. ΠŸΠΎΠΊΡƒΡˆΠ°Ρ˜ΠΌΠΎ сада Π΄Π° инсталирамо Π³Ρ†Ρ† ΠΈ ΠΏΠΎΡ‡Π½Π΅ΠΌΠΎ са Π£Π±ΡƒΠ½Ρ‚ΡƒΠΎΠΌ:

FROM ubuntu:18.04
RUN apt-get update && 
    apt-get install --no-install-recommends -y gcc && 
    apt-get clean && rm -rf /var/lib/apt/lists/*

ПисањС ΡΠ°Π²Ρ€ΡˆΠ΅Π½ΠΎΠ³ Π”ΠΎΡ†ΠΊΠ΅Ρ€Ρ„ΠΈΠ»Π΅-Π° јС Π²Π°Π½ ΠΎΠΊΠ²ΠΈΡ€Π° ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ°.

Π˜Π·ΠΌΠ΅Ρ€ΠΈΠΌΠΎ Π±Ρ€Π·ΠΈΠ½Ρƒ склапања:

$ time docker build -t ubuntu-gcc -f Dockerfile.ubuntu --quiet .
sha256:b6a3ee33acb83148cd273b0098f4c7eed01a82f47eeb8f5bec775c26d4fe4aae

real    0m29.251s
user    0m0.032s
sys     0m0.026s
$ docker image ls ubuntu-gcc
REPOSITORY   TAG      IMAGE ID      CREATED         SIZE
ubuntu-gcc   latest   b6a3ee33acb8  9 seconds ago   150MB

ΠŸΠΎΠ½Π°Π²Ρ™Π°ΠΌΠΎ исто Π·Π° АлпинС (Π”ΠΎΡ†ΠΊΠ΅Ρ€Ρ„ΠΈΠ»Π΅):

FROM alpine
RUN apk add --update gcc

Бастављамо, Π³Π»Π΅Π΄Π°ΠΌΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ΅:

$ time docker build -t alpine-gcc -f Dockerfile.alpine --quiet .
sha256:efd626923c1478ccde67db28911ef90799710e5b8125cf4ebb2b2ca200ae1ac3

real    0m15.461s
user    0m0.026s
sys     0m0.024s
$ docker image ls alpine-gcc
REPOSITORY   TAG      IMAGE ID       CREATED         SIZE
alpine-gcc   latest   efd626923c14   7 seconds ago   105MB

Као ΡˆΡ‚ΠΎ јС ΠΎΠ±Π΅Ρ›Π°Π½ΠΎ, сликС заснованС Π½Π° АлпинС-Ρƒ сС ΠΏΡ€ΠΈΠΊΡƒΠΏΡ™Π°Ρ˜Ρƒ Π±Ρ€ΠΆΠ΅ ΠΈ мањС су: 15 сСкунди умСсто 30, Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° сликС јС 105 ΠœΠ‘ наспрам 150 ΠœΠ‘. Π’ΠΎ јС ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ!

Али Π°ΠΊΠΎ ΠΏΡ€Π΅Ρ’Π΅ΠΌΠΎ Π½Π° ΠΏΡ€Π°Π²Ρ™Π΅ΡšΠ΅ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅, ΠΎΠ½Π΄Π° свС нијС Ρ‚Π°ΠΊΠΎ руТичасто.

ΠŸΠΈΡ‚Ρ…ΠΎΠ½ слика

ΠŸΠΈΡ‚Ρ…ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ чСсто користС ΠΏΠ°Π½Π΄Π΅ ΠΈ ΠΌΠ°Ρ‚ΠΏΠ»ΠΎΡ‚Π»ΠΈΠ±. Π‘Ρ‚ΠΎΠ³Π°, јСдна ΠΎΠ΄ ΠΎΠΏΡ†ΠΈΡ˜Π° јС Π΄Π° ΡƒΠ·ΠΌΠ΅Ρ‚Π΅ Π·Π²Π°Π½ΠΈΡ‡Π½Ρƒ слику засновану Π½Π° Π”Π΅Π±ΠΈΠ°Π½-Ρƒ користСћи овај Π”ΠΎΡ†ΠΊΠ΅Ρ€Ρ„ΠΈΠ»Π΅:

FROM python:3.8-slim
RUN pip install --no-cache-dir matplotlib pandas

Π₯ајдС Π΄Π° Π³Π° ΠΏΡ€ΠΈΠΊΡƒΠΏΠΈΠΌΠΎ:

$ docker build -f Dockerfile.slim -t python-matpan.
Sending build context to Docker daemon  3.072kB
Step 1/2 : FROM python:3.8-slim
 ---> 036ea1506a85
Step 2/2 : RUN pip install --no-cache-dir matplotlib pandas
 ---> Running in 13739b2a0917
Collecting matplotlib
  Downloading matplotlib-3.1.2-cp38-cp38-manylinux1_x86_64.whl (13.1 MB)
Collecting pandas
  Downloading pandas-0.25.3-cp38-cp38-manylinux1_x86_64.whl (10.4 MB)
...
Successfully built b98b5dc06690
Successfully tagged python-matpan:latest

real    0m30.297s
user    0m0.043s
sys     0m0.020s

Π”ΠΎΠ±ΠΈΡ˜Π°ΠΌΠΎ слику Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ 363ΠœΠ‘.
Π₯ΠΎΡ›Π΅ΠΌΠΎ Π»ΠΈ Π±ΠΎΡ™Π΅ са Алпином? Π₯ајдС Π΄Π° ΠΏΠΎΠΊΡƒΡˆΠ°ΠΌΠΎ:

FROM python:3.8-alpine
RUN pip install --no-cache-dir matplotlib pandas

$ docker build -t python-matpan-alpine -f Dockerfile.alpine .                                 
Sending build context to Docker daemon  3.072kB                                               
Step 1/2 : FROM python:3.8-alpine                                                             
 ---> a0ee0c90a0db                                                                            
Step 2/2 : RUN pip install --no-cache-dir matplotlib pandas                                                  
 ---> Running in 6740adad3729                                                                 
Collecting matplotlib                                                                         
  Downloading matplotlib-3.1.2.tar.gz (40.9 MB)                                               
    ERROR: Command errored out with exit status 1:                                            
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/
tmp/pip-install-a3olrixa/matplotlib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a3olrixa/matplotlib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-a3olrixa/matplotlib/pip-egg-info                              

...
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
The command '/bin/sh -c pip install matplotlib pandas' returned a non-zero code: 1

Π¨Ρ‚Π° сС дСшава?

АлпинС Π½Π΅ ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° Ρ‚ΠΎΡ‡ΠΊΠΎΠ²Π΅

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ‚Π΅ Π±ΡƒΠΈΠ»Π΄, који јС заснован Π½Π° Π”Π΅Π±ΠΈΠ°Π½-Ρƒ, Π²ΠΈΠ΄Π΅Ρ›Π΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅ΡƒΠ·ΠΈΠΌΠ° ΠΌΠ°Ρ‚ΠΏΠ»ΠΎΡ‚Π»ΠΈΠ±-3.1.2-Ρ†ΠΏ38-Ρ†ΠΏ38-ΠΌΠ°Π½ΠΈΠ»ΠΈΠ½ΡƒΠΊ1_ΠΊ86_64.Π²Ρ…Π».

Ово јС Π±ΠΈΠ½Π°Ρ€Π½ΠΈ Ρ„Π°Ρ˜Π» Π·Π° Ρ‚ΠΎΡ‡Π°ΠΊ. АлпинС ΠΏΡ€Π΅ΡƒΠ·ΠΈΠΌΠ° ΠΈΠ·Π²ΠΎΡ€Π΅ `ΠΌΠ°Ρ‚ΠΏΠ»ΠΎΡ‚Π»ΠΈΠ±-3.1.2.Ρ‚Π°Ρ€.gz` ΠΏΠΎΡˆΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° стандард Ρ„Π΅Π»Π½Π΅.

Π—Π°ΡˆΡ‚ΠΎ? Π’Π΅Ρ›ΠΈΠ½Π° Π›ΠΈΠ½ΡƒΠΊ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° користи ГНУ Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ (Π³Π»ΠΈΠ±Ρ†) стандарднС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π¦, ΡˆΡ‚ΠΎ јС Ρƒ ствари ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° сваки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ написан Ρƒ Π¦-Ρƒ, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½. Али АлпинС користи `мусл`, Π° ΠΏΠΎΡˆΡ‚ΠΎ су Ρ‚Π΅ Π±ΠΈΠ½Π°Ρ€Π½Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½Π΅ Π·Π° `Π³Π»ΠΈΠ±Ρ†`, Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ нису ΠΎΠΏΡ†ΠΈΡ˜Π°.

Π‘Ρ‚ΠΎΠ³Π°, Π°ΠΊΠΎ користитС АлпинС, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° ΠΏΡ€Π΅Π²Π΅Π΄Π΅Ρ‚Π΅ сав ΠΊΠΎΠ΄ написан Ρƒ Π¦-Ρƒ Ρƒ сваком ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ.

ΠžΡ…, Π΄Π°, ΠΌΠΎΡ€Π°Ρ›Π΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΡ‚Ρ€Π°ΠΆΠΈΡ‚Π΅ листу свих Ρ‚Π°ΠΊΠ²ΠΈΡ… зависности којС ΠΌΠΎΡ€Π°Ρ‚Π΅ сами Π΄Π° саставитС.
Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ добијамо ΠΎΠ²ΠΎ:

FROM python:3.8-alpine
RUN apk --update add gcc build-base freetype-dev libpng-dev openblas-dev
RUN pip install --no-cache-dir matplotlib pandas

А Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠ·Π³Ρ€Π°Π΄ΡšΠ΅ Ρ‚Ρ€Π°Ρ˜Π΅...

... 25 ΠΌΠΈΠ½ΡƒΡ‚Π° 57 сСкунди! А Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° сликС јС 851 ΠœΠ‘.

Π‘Π»ΠΈΠΊΠ΅ заснованС Π½Π° Алпама сС ΠΏΡ€Π°Π²Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡƒΠΆΠ΅, Π²Π΅Ρ›Π΅ су ΠΈ још ΡƒΠ²Π΅ΠΊ ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° ΠΏΠΎΡ‚Ρ€Π°ΠΆΠΈΡ‚Π΅ свС зависности. Наравно, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΠ°ΡšΠΈΡ‚ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ склопа користСћи Π²ΠΈΡˆΠ΅ΡΡ‚Π΅ΠΏΠ΅Π½Π΅ Π³Ρ€Π°Π΄ΡšΠ΅ Π°Π»ΠΈ Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ још вишС посла.

Во нијС свС!

АлпинС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π°Π·ΠΎΠ²Π΅ Π½Π΅ΠΎΡ‡Π΅ΠΊΠΈΠ²Π°Π½Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅ Ρƒ Ρ‚ΠΎΠΊΡƒ Ρ€Π°Π΄Π°

  • Π£ Ρ‚Π΅ΠΎΡ€ΠΈΡ˜ΠΈ, мусл јС ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π°Π½ са Π³Π»ΠΈΠ±Ρ†-ΠΎΠΌ, Π°Π»ΠΈ Ρƒ пракси Ρ€Π°Π·Π»ΠΈΠΊΠ΅ ΠΌΠΎΠ³Ρƒ ΠΈΠ·Π°Π·Π²Π°Ρ‚ΠΈ ΠΌΠ½ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅. А Π°ΠΊΠΎ Ρ˜Π΅ΡΡƒ, Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Π½Π΅ΠΏΡ€ΠΈΡ˜Π°Ρ‚Π½ΠΈ. Π•Π²ΠΎ Π½Π΅ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° који сС ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡ˜Π°Π²ΠΈΡ‚ΠΈ:
  • АлпинС ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ ΠΈΠΌΠ° ΠΌΠ°ΡšΡƒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ стСка Π½ΠΈΡ‚ΠΈ, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ довСсти Π΄ΠΎ Π³Ρ€Π΅ΡˆΠΊΠ΅ Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Ρƒ
  • НСки корисници су Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ»ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ су ΡΠΏΠΎΡ€ΠΈΡ˜Π΅ Π·Π±ΠΎΠ³ Π½Π°Ρ‡ΠΈΠ½Π° Π½Π° који мусл Π΄ΠΎΠ΄Π΅Ρ™ΡƒΡ˜Π΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Ρƒ (Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΎ ΠΎΠ΄ Π³Π»ΠΈΠ±Ρ†).
  • ЈСдан ΠΎΠ΄ корисника ΠΏΡ€ΠΎΠ½Π°ΡˆΠ°ΠΎ Π³Ρ€Π΅ΡˆΠΊΡƒ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΡšΡƒ Π΄Π°Ρ‚ΡƒΠΌΠ°

Π‘ΠΈΠ³ΡƒΡ€Π½ΠΎ су ΠΎΠ²Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅ Π²Π΅Ρ› исправљСнС, Π°Π»ΠΈ ΠΊΠΎ Π·Π½Π° ΠΊΠΎΠ»ΠΈΠΊΠΎ Ρ›Π΅ ΠΈΡ… још Π±ΠΈΡ‚ΠΈ.

НС користитС АлпинС сликС Π·Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½

Ако Π½Π΅ ΠΆΠ΅Π»ΠΈΡ‚Π΅ Π΄Π° сС Π·Π°ΠΌΠ°Ρ€Π°Ρ‚Π΅ Π²Π΅Π»ΠΈΠΊΠΈΠΌ ΠΈ Π΄ΡƒΠ³ΠΈΠΌ Π³Ρ€Π°Π΄ΡšΠ°ΠΌΠ°, Ρ‚Ρ€Π°ΠΆΠ΅Ρ›ΠΈ зависности ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°Π»Π½Π΅ Π³Ρ€Π΅ΡˆΠΊΠ΅, Π½Π΅ΠΌΠΎΡ˜Ρ‚Π΅ користити АлпинС Π›ΠΈΠ½ΡƒΠΊ ΠΊΠ°ΠΎ основну слику. Π˜Π·Π±ΠΎΡ€ Π΄ΠΎΠ±Ρ€Π΅ основнС сликС.

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€