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

Создание первого образа Docker из Dockerfile похоже на написание рецепта, который указывает Docker, как собрать автономный пакет для вашего приложения. Dockerfile содержит пошаговые инструкции, такие как выбор базового образа, копирование вашего кода, установка необходимых инструментов или библиотек, а также определение того, как должно запускаться приложение. Docker считывает этот файл и создает образ, который можно надежно использовать на любой системе. Это избавляет от необходимости настраивать все вручную на каждом сервере.

Прежде чем приступить к созданию первого образа Docker, убедитесь, что Docker установлен и запущен в вашей системе, а также что вы имеете базовое представление о концепции Docker и его работе.

Что такое образ Docker?

Образ Docker – это небольшой автономный пакет, содержащий все необходимое для работы вашего приложения: код, инструменты и библиотеки, которые оно использует. Он обеспечивает стабильную работу приложения в любой среде и делает процесс развертывания более плавным и надежным.

Что такое Dockerfile?

Dockerfile – это текстовый файл, содержащий определенные команды, написанные на специальном языке, известном как Domain Specific Language (DSL). Эти команды указывают Docker, как создать пользовательский образ. Он действует как чертеж, описывая каждый шаг, необходимый для создания образа.

При разработке приложения очень важно создать Dockerfile на ранней стадии. Docker читает этот файл сверху вниз и выполняет каждую команду в таком порядке, чтобы создать конечный образ.

Короче говоря, Dockerfile служит исходным кодом для вашего образа Docker.

Создание образа Docker с помощью Dockerfile

Чтобы собрать образ Docker, мы сначала создаем Dockerfile и записываем в него необходимые инструкции. Затем выполним команду docker build, чтобы сгенерировать образ. После сборки этот образ можно использовать для запуска контейнеров на любой системе, где установлен Docker.

Создание нового Dockerfile

Создадим Dockerfile в папке проекта с помощью редактора, например vim, nano и т. д.

nano Dockerfile

Примечание: Dockerfile – это имя файла по умолчанию, которое Docker ищет при сборке образа. Однако вы можете использовать собственное имя файла. В этом случае при выполнении команды docker build необходимо явно указать имя файла с помощью опции -f.

Добавление инструкций в Dockerfile

Чтобы определить окружение для вашего приложения на Python, укажите в Dockerfile следующий код:

FROM ubuntu:latest
WORKDIR /usr/src/app
COPY . .
RUN apt-get update && apt-get install -y \
    python3 \
    python3-pip
CMD ["python3", "mteScript.py"]

В этом примере мы используем Ubuntu в качестве основы и копируем все файлы из текущего каталога хоста в контейнер. Также мы установим Python и pip и зададим команду по умолчанию для запуска Python-скрипта с именем mteScript.py:

Подготовьте пример сценария Python

Теперь создайте файл Python с именем mteScript.py в том же каталоге, что и ваш Dockerfile:

def message():
print("Hi Geeks! Welcome to maketecheasier.com")
if __name__ == "__main__":
    message()

Это простой скрипт, который будет запускаться при старте контейнера. Вы можете использовать его для подтверждения того, что образ работает правильно.

Сборка образа Docker

Теперь используйте команду docker run для создания нужного образа Docker. Эта команда считывает стандартный Dockerfile, выполняет его шаги и создает образ с именем python-docker-demo:

sudo docker build -t python-docker-demo .

Примечание: Если вы используете пользовательское имя для своего Dockerfile (например, ExampleDockerfile), укажите его в команде сборки docker с помощью флага -f, как показано ниже:

sudo docker build -f ExampleDockerfile -t python-docker-demo .

Проверка образа Docker

После того как образ Docker собран, вы можете проверить, успешно ли он был создан, выполнив эту команду:

sudo docker images

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

Запуск образа Docker для тестирования

Чтобы протестировать образ Docker локально, вы можете запустить контейнер с помощью этой команды:

sudo docker run python-docker-demo

Эта команда запускает контейнер Docker, использующий образ python-docker-demo со стандартной конфигурацией, и выводит результаты в терминал:

Заключение

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

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

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)