Найти тему
AndreyEx

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

Оглавление

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

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

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

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

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

[gn_box title="Необходимое условие" box_color="#fff48c" title_color="#000000"]Если вы еще этого не сделали, пожалуйста, установите Docker в Ubuntu или в любом дистрибутиве Linux, который вы используете. Убедитесь, что вы добавили себя в группу Docker, чтобы вы могли запускать Docker без sudo.[/gn_box]

Для загрузки образа базового 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.

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