Спробуйте dockerfeed . Він використовує функцію докера для побудови контексту за допомогою stdin. Я написав сценарій, щоб вирішити саме вашу проблему, з якою я стикався сам.
Щоб замінити файл Docker іншим, ви робите це так:
dockerfeed -d Dockerfile.app . | docker build -t deepak/ruby -
І вуаля. Dockerfeed робить те саме, що і docker build
. Він пакує джерело зі своїм файлом Docker, але дозволяє замінити старий файл Docker на потрібний. У процесі не створюються файли, джерело не змінюється. Створений архів tar передається у докер, який, у свою чергу, надсилає його до демона докера.
Оновлення:
Це була вірна відповідь у минулі часи, коли -f
перемикач не був доступний. З версією docker 1.5 ця опція була введена. Тепер ви можете створити інший файл Docker, наприклад:
docker build -f other-Dockerfile .