Wypróbuj dockerfeed . Używa funkcji dockera do budowania kontekstu poprzez stdin. Napisałem skrypt, aby dokładnie rozwiązać twój problem, z którym sam miałem do czynienia.
Aby zamienić plik Dockerfile na inny, wykonaj to w następujący sposób:
dockerfeed -d Dockerfile.app . | docker build -t deepak/ruby -
I voilà. Dockerfeed robi to samo, co docker build. Pakuje źródło z jego plikiem Dockerfile, ale pozwala zamienić stary plik Dockerfile na żądany. Żadne pliki nie są tworzone w procesie, żadne źródło nie jest zmieniane. Wygenerowane archiwum tar jest przesyłane potokiem do dockera, który z kolei wysyła je do demona dockera.
Aktualizacja:
To była prawidłowa odpowiedź w dawnych czasach, kiedy nie było -fdostępnego przełącznika. W Docker w wersji 1.5 ta opcja została wprowadzona. Teraz możesz zbudować i dostarczyć inny plik Dockerfile w następujący sposób:
docker build -f other-Dockerfile .