Выполнение команды docker в сборке docker
У меня есть приложение, которое использует Docker для сборки себя, и я хочу создать его образ Docker. Это требует разоблачения docker.sock
к заявлению во время docker build
команда (аналогично добавлению -v /var/run/docker.sock:/var/run/docker.sock
аргумент docker run
команда).
Есть ли способ, которым я могу это сделать, или я должен прибегнуть к созданию виртуальной машины и копированию артефактов сборки в контейнер? Dockerfile
выглядеть так:
FROM docker
RUN docker run --rm -v /opt/<myapp>:/opt/<myapp> <myapp> /build_and_install.sh /opt/<myapp>
# etc...
1 ответ
Ваш вариант использования немного неясен. Тем не менее, во многих случаях это можно сделать с помощью многоступенчатой сборки. Docker выпустил пример Java-приложения с хорошим примером многоэтапного Dockerfile.