минимизировать, оптимизировать и защитить контейнеры Docker с помощью DockerSlim

Thank you for reading this post, don't forget to subscribe!
DockerSlim – это инстру­мент с откры­тым исход­ным кодом, кото­рый поз­во­ля­ет защи­щать и мини­ми­зи­ро­вать кон­тей­не­ры Docker до 30 раз!
Теперь давай­те сна­ча­ла узна­ем, какие пре­иму­ще­ства дает мини­ми­за­ция контейнеров.

Перей­ди­те в репо­зи­то­рий DockerSlim GitHub в раз­де­ле «INSTALLATION»:

https://github.com/docker-slim/docker-slim

и ска­чай­те послед­ние бинар­ни­ки для сво­ей системы.

DockerSlim в насто­я­щее вре­мя может рабо­тать толь­ко в систе­мах Linux и UNIX (вклю­чая Mac).

Установка DockerSlim на Linux

Выбе­ри­те «Latest Linux Binaries», что­бы загру­зить бинар­ник для систе­мы Linux с помо­щью коман­ды wget.
wget https://downloads.dockerslim.com/releases/1.34.0/dist_linux.tar.gz

 

mv dist_linux/* /usr/local/bin

Использование DockerSlim для минимизации и оптимизации контейнеров Docker

DockerSlim име­ет интер­ак­тив­ную обо­лоч­ку, кото­рую вы може­те исполь­зо­вать для умень­ше­ния раз­ме­ра и защи­ты ваших контейнеров.
$ docker pull nginx:latest
Мы можем про­ве­рить раз­мер загру­жен­но­го обра­за с помо­щью сле­ду­ю­щей команды:
$ docker images nginx:latest
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 519e12e2a84a 2 hours ago 133MB
Теперь мы можем создать опти­ми­зи­ро­ван­ный образ с помо­щью команды:
$ docker-slim build --target nginx:latest
При­мер вывода:

 

В выход­ных дан­ных выше ука­за­но, что образ был умень­шен с 133 МБ до 11 МБ.
Это в 12 раз!

Мы можем под­твер­дить это, про­ве­рив раз­мер ново­го образа.
$ docker images nginx.slim
Вывод:

Теперь мы можем создать кон­тей­нер из ново­го обра­за и посмот­реть, может ли он пра­виль­но функ­ци­о­ни­ро­вать как исходный.

$ docker run -it -d --name slim-webserver -p 86:80 nginx.slim

В при­ве­ден­ной выше коман­де мы запу­сти­ли кон­тей­нер в авто­ном­ном режи­ме (-d), имя кото­ро­го – slim-webserver, и откры­ли 80 -ый порт кон­тей­не­ра на 86-ый порт хоста.
Мы так­же исполь­зо­ва­ли nginx.slim в каче­стве образа.
Про­ве­рить ста­тус кон­тей­не­ра мож­но с помо­щью коман­ды docker ps -a.

Мы можем полу­чить доступ к веб-сер­ве­ру через порт 86 хоста.