Создание первого образа 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.




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