Docker SDK для Python: fileobj

#python #docker

#python #docker

Вопрос:

Попытка создать образ docker с помощью Docker SDK для Python (https://docker-py.readthedocs.io/en/stable/images.html ) Мне интересно, что такое fileobj и где это описано в документации

Моя цель — создать образ docker на основе Dockerfile с именем, отличным от имени файла по умолчанию

Ответ №1:

Это стандартный файловый объект Python; вы можете получить его со встроенной open() функцией. Как это обычно бывает с Python, вы также можете передать «файлоподобный» объект, который поддерживает read() метод; нет никаких проверок того, что то, что вы передаете, на самом деле является файлом.

Обратите внимание, что вы мало что не можете сделать с помощью Docker CLI, и особенно система создания образов довольно фиксированная и автономная. С другой стороны, Docker API является сложным, и доступ к нему дает вам неограниченный root-доступ к хосту: ошибки могут поставить под угрозу ваш хост. Для того, что вы описываете, API почти идентичен docker build команде, и я бы еще раз посмотрел, не можете ли вы использовать это напрямую; маловероятно, что вы сможете обойти какие-либо конкретные ограничения, с которыми вы сталкиваетесь.

Комментарии:

1. Я обязательно рассмотрю возможность использования CLI, возможно, оберну его вокруг простых функций с использованием python — спасибо!