Докер образы
Создание Докер образа в рабочем пространстве
С видео примером можно ознакомиться в разделе видео.
Для создания Докер образа необходимо:
Перейти на вкладку РЕСУРСЫ
Напротив надписи Docker-образы нажать на кнопку и далее набрать полное название Докер образа .
Примеры названий:
При размещении образа на Dockerhub или на собственном реестре необходимо предоставление публичных прав на чтение образа.
В тестовых целях возможно использовать локальный публичный реестре платформы. В этом случае названия Докер образов будут иметь вид:
rep.rndflow.com/myrepo/myimagename:latest
Внимание! Использовать только для "одноразовых" тестовых целей. Файлы, размещенные в тестовом репозитории, могут быть удалены без предупреждения в любой момент! Сам тествый сервис также может быть отключен в любой момент без предупреждения!
Для Докер образа действуют следующие правила:
- Название образа должно быть уникальным для всей платформы.
- Права пересборки образа имеет только владелец рабочего пространства, в котором он был создан.
После нажатия кнопки будет создана плитка Докер образа
После щелчка по плитке Докер образа будет открыто окно редактора
Существет две возможности предоставления файлов для сборки образа:
Непосредственное создание файла сборки
В Параметры сборки выбрать ЛОКАЛЬНАЯ ПАПКА.
Ввести команды создания образа в редакторе Dockerfile.
Смотреть примеры в инструкции Создание Докер образа вне платформы
Нажать кнопку СОХРАНИТЬ.
Нажать кнопку СОБРАТЬ.
Убедиться, что определенный платформой Докер реестр корректен. При необходимости изменить.
Ввести, при необходимости, логин и пароль к Докер реестру, в который будет загружаться созданный образ.
Если Докер реестр не требует авторизации для записи образов, то оставить данные поля незаполненными.
Нажать кнопку СОБРАТЬ.
Будет запущена сборка
После успешного завершения редактор примет вид:
На вкладке РЕСУРСЫ в разделе Docker-образы соответстующая плитка примет вид:
Использование внешнего Git репозитория с файлами сборки
В Параметры сборки выбрать GIT РЕПОЗИТОРИЙ.
Ввести URL Git репозитория с файлами сборки Докер образа.
Нажать кнопку СОХРАНИТЬ.
Нажать кнопку СОБРАТЬ.
Убедиться, что определенный платформой Докер реестр корректен. При необходимости изменить.
Ввести, при необходимости, логин и пароль к Докер реестру, в который будет загружаться созданный образ.
Если Докер реестр не требует авторизации для записи образов, то оставить данные поля незаполненными.
В случае использования приватного Git репозитория для загрузки файлов сборки образа вести персональный токен для доступа.
Если Git репозиторий является публичным и не требует авторизации, то поле для ввода токена оставить незаполненным. Описание создания персонального токена для GitHub и GitLab.
Нажать кнопку СОБРАТЬ.
Будет запущена сборка
Создание Докер образа вне платформы
Зарегистрироваться на публичном Докер реестре.
Создать новый репозиторий imagename
imagename - произвольное название: mycoolimage или python-projectXX
Установить Докер приложение на локальный компьютер. Пользователи Windows могут установливать Docker Desktop.
Также можно использовать публичные сервисы работы с Докер образами, например Play with Docker.
Создать новый Dockerfile файл на основе стандартных образов.
Вариант 1
Для создания собственного образа необходимо использовать базовый образ rndflow/job.py.
FROM docker.io/rndflow/job.py RUN ... COPY ...
Вариант 2
В случае необходимости использовать образ операционной системы отличный от используемого в rndflow/job.py необходимо самостоятельно устанавливать библиотекy job.py. Также необходимо установить библиотеки moreutils, procps, curl, zlib1g-dev, libjpeg-dev.
FROM ... ... RUN apt-get update && apt-get install -y moreutils procps curl zlib1g-dev libjpeg-dev RUN cd /opt/ && curl -L https://github.com/rndflow/rndflow-job-py/archive/refs/heads/master.tar.gz | tar -xvz && \ pip3 install -r rndflow-job-py-master/requirements.txt && pip3 install ./rndflow-job-py-master && rm -rf rndflow-job-py-master ...
Если при этом требуется поддержка интерактивного сервера Jupyter, то необходимо установить:
RUN pip3 install notebook jupytext
Вариант 3
Если требуется поддержка счета на AMD или NVIDIA GPU картах, то необходимо использовать соответствующие базовые образы.
Собрать образ из Dockerfile (если используется podman, то заменить docker на podman).
В папке с Dockerfile:
docker build -t user/imagename:1.0 .
илиdocker build -t user/imagename:1.0 -f _Dockerfile_ .
Здесь user/imagename - пользователь реестра/название образа (репозитория реестра из пункта 2 ), :1.0 - версия.
При пересборке образа без изменения Dockerfile файла необходимо очистить кеш предыдущей сборки. Например, можно удалить последний образ:
docker rmi user/imagename:1.0
или осуществлять сборку без использования кеша:
docker build -t user/imagename:1.0 . --no-cache
Проверить появление образа:
docker image ls
Тестовый запуск:
docker run -it --rm imagename
Загрузить новый образ на публичный Докер реестр
Подключиться к реестру :
docker login -u user -p **********
или чтобы не оставлять пароль в истории команд :
docker login -u user
Загрузить образ в реестр:
docker push user/imagename:1.0
Если необходимо удалить ошибочно загруженный образ из реестра: Инструкция удаления образа
Если сборка идет на стороннем сервисе, то рекомендуется отсоединиться от реестра:
docker logout