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

Мануал
DockerSlim – это инструмент с открытым исходным кодом, который позволяет защищать и минимизировать контейнеры Docker до 30 раз!
Теперь давайте сначала узнаем, какие преимущества дает минимизация контейнеров.

Как установить DockerSlim на Linux | macOS

Перейдите в репозиторий 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 на macOS

Скачайте архив, содержащий DockerSlim
wget https://downloads.dockerslim.com/releases/1.35.0/dist_mac.zip
mv dist_mac/* /usr/local/bin
После завершения установки мы можем использовать его для управления нашими контейнерами.
В вашей системе должен быть установлен Docker Container Engine.
Следуйте инструкциям по установке Docker CE в системах Linux, чтобы быстро освоить среду Docker.

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

DockerSlim имеет интерактивную оболочку, которую вы можете использовать для уменьшения размера и защиты ваших контейнеров.

Создадим оптимизированный образ Nginx

Чтобы создать оптимизированный образ, сначала необходимо скачать базовый образ:
$ docker images nginx:latest
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 519e12e2a84a 2 hours ago 133MB
Теперь мы можем создать оптимизированный образ с помощью команды:
$ docker-slim build --target nginx:latest
Мы можем подтвердить это, проверив размер нового образа.
$ docker images nginx.slim
Вывод:
$ docker images nginx.slim
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx.slim   latest    98bc8a53012f   3 minutes ago   11.1MB
Теперь мы можем создать контейнер из нового образа и посмотреть, может ли он правильно функционировать как исходный.
$ docker run -it -d --name slim-webserver -p 86:80 nginx.slim
В приведенной выше команде мы запустили контейнер в автономном режиме (-d), имя которого – slim-webserver, и открыли 80 -ый порт контейнера на 86-ый порт хоста.
Мы также использовали nginx.slim в качестве образа.
Проверить статус контейнера можно с помощью команды docker ps -a.
docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS               PORTS                NAMES
7d29874994ee   nginx.slim     "/docker-entrypoint.…"   3 minutes ago   Up 3 minutes         0.0.0.0:86->80/tcp   slim-webserver
Мы можем получить доступ к веб-серверу через порт 86 хоста.
Добавить комментарий