Создание 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
автоматически создаёт директорию в том случае, если она не существует.