2016-11-29 3 views
1

Есть ли способ обработать результаты команды RUN в файле Docker? В частности, я хотел бы изменить то, что происходит после этой команды, в зависимости от результата запускаемого скрипта.Результат команды Dockerfile RUN

+0

Нет, это невозможно и не предназначено (за исключением отказа от полной сборки как своего рода «логика»). Предполагается, что докер-файлы должны быть * детерминированными *, и логика внутри них может изменить возможный результат. Что вы пытаетесь достичь? – Lars

ответ

0

Лучше всего завернуть любую сложную команду в скрипте.

Затем вы можете выполнить этот сценарий

COPY myscript 
RUN myscript 

Said сценарий может, когда он запускается, несколько команд цепи и имеет доступ к своему результату.
Как любой обычный сценарий оболочки, он может запускать команды на основе условных операторов.

+0

Я могу это сделать. Но указанный сценарий должен быть последней командой в файле Dockerfile, чтобы показать некоторый статус. В противном случае 'docker build' будет выполняться без указания того, что изображение было построено неправильно. – ilya1725

+0

@ ilya1725, если скрипт возвращает ненулевой статус выхода, файл Dockerfile не будет работать, нет? (как показано на http://stackoverflow.com/a/37143794/6309) – VonC

+0

да, это будет. Возможно, мне нужно больше функций 'sh' из Dockerfile, который еще не существует. – ilya1725

Смежные вопросы