ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как создать собственный образ Docker с помощью Dockerfile

Как создать собственный образ Docker с помощью Dockerfile

Реальная сила Docker заключается в настройке базового изображения docker в соответствии с вашими требованиями. С его помощью можно легко и быстро развернуть пользовательскую среду Linux, запустив контейнер из этого пользовательского образа docker.

Docker предоставляет простой способ настроить любой образ docker и создать свой собственный пользовательский образ с помощью dockerfile.

Из этой статьи вы узнаете, как извлечь официальный образ из репозитория Docker и настроить его в соответствии со своими требованиями. А затем можно запустить и проверить пользовательский образ docker.

 

Создание пользовательского образа docker

Итак, в этом примере вы будете использовать образ Alpine Linux, который по умолчанию не включает редактор Vim. Вы измените этот образ для создания нового образа Docker  в Alpine Linux, который по умолчанию включает редактор Vim.

Для загрузки образа базового Docker вам понадобится активное интернет-соединение.

 

Шаг 1: Получить образ Docker [необязательно]

Мы выбрали Alpine Linux в этом примере, потому что он очень маленький. Размер образа Docker Alpine едва ли составляет 5 МБ. Вы можете в это поверить? Это идеальный дистрибутив Linux для контейнеров.

Этот шаг не является обязательным. Мы включили его, чтобы показать, как вы могли сравнить его с настроенным изображением Docker.

Извлеките последний образ Docker Alpine Linux с помощью команды docker pull:

docker pull alpine

 

Шаг 2: Создайте Dockerfile с необходимой настройкой

Теперь давайте создадим новый пустой файл с именем Dockerfile с помощью команду touch.

touch Dockerfile

 

Теперь вам нужно отредактировать этот файл и эти три строки и сохранить его. Вы можете использовать текстовый редактор, такое как Vim или Nano, или команду cat, чтобы добавить эти строки в Dockerfile.

FROM alpine:latest
RUN apk update
RUN apk add vim

 

Здесь вы создаете новый образ Docker, загружая последний Docker Alpine из Docker Hub.

Как и apt, Alpine использует менеджер пакетов apk. Поэтому следующие две команды в основном сообщают Alpine linux обновить имеющийся кеш пакета (apk update) и затем установить Vim (apk add vim).

Как вы можете видеть, с помощью RUN в Dockerfile вы можете настроить свой базовый образ докера, выполнив определенные команды.

 

Шаг 3. Создайте собственный образ Docker с помощью Dockerfile

Команда для создания пользовательского образа из Dockerfile выглядит следующим образом:

docker build -t new_docker_image_name PATH_to_Dockerfile

 

С помощью тега -t вы указываете имя своего настраиваемого образа Docker.

Учитывая, что ваш Dockerfile находится в вашем текущем каталоге, вы можете создать новый образ Docker Alpine Linux с установленным Vim следующим образом:

docker build -t alpine-with-vim

 

Давайте теперь посмотрим доступные образы Docker в системе:

andreyex@destroyer:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine-with-vim     latest              fa8255cf0de0        4 seconds ago       32.1MB
alpine              latest              a187dde48cd2        2 weeks ago         5.4MB

 

Вы можете видеть, что базовый образ Docker размером чуть более 5 МБ теперь составляет 33 МБ с установленным Vim (и обновленным кэшем пакетов).

Теперь давайте проверим, что на ваших модифицированных образах Docker установлен vim, запустив из него контейнер :

docker container run -ti alpine-with-vim /bin/sh

 

Как только вы окажетесь внутри контейнера, вы можете убедиться, что Vim установлен, проверив его версию:

/ # vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec 12 2019 19:30:49)
Compiled by Alpine Linux

 

Выйдите из контейнера, набрав команду exit в терминале. Остановите контейнер, удалите контейнер и удалите образы Docker (если хотите), чтобы освободить место на диске.

Отлично! Вы только что узнали, как создать свой собственный настроенный образ Docker.

Мы знаем, что это не очень обширная статья, и у вас могут быть сложные потребности. Но эта статья является первым шагом к пониманию настройки образа Docker.

Мы настоятельно рекомендуем прочитать больше о Dockerfile, чтобы узнать, какие другие опции доступны для настройки образов Docker.

Если у вас есть вопросы или предложения, пожалуйста, оставьте комментарий ниже.

Exit mobile version