У меня есть скрипт на python, который отвечает за запуск образа докера.Для запуска образа Docker я использую клиент Docker, и команда запуска определяется следующим образом:
def run_docker(self, cred, image, env, volumes, cmd):
"""
Docker image needs to be executed after image is successfully pulled,
and docker command is contructed based on the job parameters.
"""
self.log.info('run_docker', state=self.state)
self._docker_login(cred)
self.docker_client = docker.from_env()
self.container = self.docker_client.containers.run(
image,
environment=env,
volumes=volumes,
command=cmd,
stderr=True,
remove=True,
)
Есть две проблемы: 1) При удалении контейнера файл журнала Docker, который захватывает STDOUT и STDERRвместе тоже удаляется.Из-за этой проблемы я решил записать STDOUT и STDERR в два разных файла, чтобы пользователь мог анализировать STDERR и STDOUT с максимальной гибкостью.
При использовании док-клиента, как упомянуто здесь - https://docker -py.readthedocs.io / en / stable / Containers.html Параметры были изменены соответствующим образом в команде запуска.Но я не могу понять, как этого добиться.Также Docker клиент не упоминает, как использовать подключаемые модули регистрации.
Любая помощь или предложения приветствуются.