1) В соответствии с документацией функция запуска не печатает, но возвращает stdout и stderr
Контейнер регистрирует либо STDOUT, STDERR, либо оба, в зависимости от значенияаргументов stdout и stderr.STDOUT и STDERR могут быть прочитаны только в том случае, если использовался драйвер регистрации json-файла или journald.Таким образом, если вы не используете ни один из этих драйверов, вместо этого возвращается объект None. Подробную информацию см. В документации Engine Engine .
Для show log я предлагаю рассмотреть запуск контейнера в подпроцессе вместо запуска через API.
import subprocess
subprocess.run("docker run --rm -i centos7.5 ./pmml2luastatic", shell=True)
2) Этот способ также позволит вам перехватывать код возврата через объект CompletedProcess
import subprocess
result = subprocess.run("docker run --rm -i centos7.5 ./pmml2luastatic", shell=True)
if result.returncode != 0:
print("Error")
Я рассмотрю возможность использования API для связи с удаленным компьютером.Если вы все равно будете использовать API для запуска контейнера, тогда используйте stream
param.
stream (bool) - если true и detach равно false, вместо строки верните генератор журнала.Игнорируется, если отсоединение верно.По умолчанию: False.