2016-01-18 4 views
19

Я прочитал в документации докера, как можно использовать инструкцию ONBUILD, но это не совсем понятно.
Может кто-нибудь, пожалуйста, объясните мне это?Dockerfile Инструкция ONBUILD

+0

Какая часть [документация] (https://docs.docker.com/engine/reference/builder/#onbuild) вас не понимать? 'Это полезно, если вы создаете изображение, которое будет использоваться в качестве базы для создания других изображений. –

+0

Но что я могу сделать с этим. Пожалуйста, приведи пример. –

+1

В документации также есть пример. Сначала вы можете создать свой пользовательский образ dockerfile с необходимыми библиотеками ОС: curl, gd и т. Д. И добавить инструкцию onbuild, чтобы позже добавить исходный код. example 'onbuild add src /' Позже вы создаете еще один файл докеров, но используете ранее созданное изображение (инструкция FROM) и складываете на нем исходный код. Таким образом, у вас есть изображение с замороженными библиотеками уровня ОС и исходным кодом. –

ответ

28

ONBUILD intruction очень полезен для автоматизации сборки выбранного вами стека программного обеспечения.

Пример

Maven container The предназначен для компиляции программ Java. Волшебно все Dockerfile вашего проекта нужно сделать, это ссылка базовый контейнер, содержащий ONBUILD intructions:

FROM maven:3.3-jdk-8-onbuild 
CMD ["java","-jar","/usr/src/app/target/demo-1.0-SNAPSHOT-jar-with-dependencies.jar"] 

база изображения в Dockerfile говорит все

FROM maven:3-jdk-8 

RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

ONBUILD ADD . /usr/src/app 

ONBUILD RUN mvn install 

Там есть базовое изображение, которое установлено как Java и Maven и серию инструкций по копированию файлов и запуск Maven.

Следующий ответ дает пример Java

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