Dockerfile или как запустить Python скрип в контейнере.

Создание Dockerfile.

Создаем файл с именем Dockerfile сборки образа докер :

# Установка базового образа (host OS) из DockerHub
FROM python:3.9-slim-bullseye

Запускаем команду pip install requests
RUN pip install requests

# Создаем директорию
WORKDIR /opt/project

# Добавляем файл test.py в папку
ADD test.py /opt/project/

# Запускаем скрипт
CMD [ "python", "/opt/project/test.py" ]

Собираем новый images командой:

docker build - t [name:teg] [patch]
docker build -t test:0.1 .
Sending build context to Docker daemon  9.216kB
Step 1/6 : FROM python:3.9-slim
 ---> e86cb69f6aef
Step 2/6 : RUN pip install requests
 ---> Using cache
 ---> 3fdaccc32dbf

Интрукции.

FROM — задаёт базовый (родительский) образ.

RUN — выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов.

ENV — устанавливает постоянные переменные среды.

ADD — копирует файлы и папки в контейнер.

CMD — описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь одна инструкция CMD.

EXPOSE — указывает на необходимость открыть порт.

VOLUME — создаёт точку монтирования для работы с постоянным хранилищем.

WORKDIR — задаёт рабочую директорию для следующей инструкции.

  • Лучше устанавливать с помощью WORKDIR абсолютные пути к папкам, а не перемещаться по файловой системе с помощью команд cd в Dockerfile.
  • Инструкция WORKDIR автоматически создаёт директорию в том случае, если она не существует.

Ошибка в тексте? Выделите её и нажмите «Ctrl + Enter»