Coba dockerfeed . Ia menggunakan fitur buruh pelabuhan untuk membangun konteks melalui stdin. Saya menulis naskah untuk mengatasi masalah Anda yang saya hadapi sendiri.
Untuk mengganti Dockerfile dengan yang berbeda Anda melakukannya seperti ini:
dockerfeed -d Dockerfile.app . | docker build -t deepak/ruby -
Dan voila. Dockerfeed melakukan hal yang sama seperti docker build. Ini mengemas sumber dengan Dockerfile tetapi memungkinkan Anda menukar Dockerfile lama dengan yang diinginkan. Tidak ada file yang dibuat dalam prosesnya, tidak ada sumber yang diubah. Arsip tar yang dihasilkan disalurkan ke buruh pelabuhan, yang pada gilirannya mengirimkannya ke daemon buruh pelabuhan.
Pembaruan:
Ini adalah jawaban yang valid di masa lalu ketika tidak ada -ftombol yang tersedia. Dengan buruh pelabuhan versi 1.5 opsi ini diperkenalkan. Sekarang Anda dapat membangun menyediakan Dockerfile yang berbeda seperti ini:
docker build -f other-Dockerfile .