Bagaimana cara menyampaikan argumen ke Dockerfile?

120

Saya menggunakan instruksi RUN dalam a Dockerfileuntuk menginstal sebuah rpm

RUN yum -y install samplerpm-2.3

Namun, saya ingin meneruskan nilai "2.3" sebagai argumen. Instruksi RUN saya akan terlihat seperti ini:

RUN yum -y install samplerpm-$arg

dimana $arg=2.3

meallhour
sumber

Jawaban:

153

Anda mencari --build-argdan ARGinstruksi. Ini baru pada Docker 1.9. Lihat https://docs.docker.com/engine/reference/builder/#arg . Ini akan memungkinkan Anda untuk menambahkan ARG argke Dockerfiledan kemudian membangun dengan docker build --build-arg arg=2.3 ..

Andy Shinn
sumber
1
Setelah melakukan semua itu, saya mendapatkan kesalahan ** Tidak ada paket samplerpm- $ arg tersedia. ** Tampaknya nilai argumen 2,3 tidak diganti.
meallhour
1
Anda mungkin perlu membuat pertanyaan baru dengan Dockerfile, perintah yang digunakan untuk membangun, dan kesalahan untuk membantu saya.
Andy Shinn
2
bagaimana dengan variabel env?
Alexander Mills