Menurut dokumentasi , mungkin untuk mendefinisikan beberapa argumen untuk flag --build-arg
, tetapi saya tidak bisa menemukan caranya. Saya mencoba yang berikut ini:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5 number_of_replicas=2 --no-cache .
=> Ini mengembalikan kesalahan.
Saya juga mencoba:
docker build -t essearch/ess-elasticsearch:1.7.6 --build-arg number_of_shards=5,number_of_replicas=2 --no-cache .
=> Ini menetapkan satu variabel number_of_shards
,, ke nilai "5, number_of_replicas = 2"
Adakah ide bagaimana saya bisa mendefinisikan banyak argumen?
--help
on ini terutama menyesatkan:--build-arg list
. Itu bukan daftar!Jawaban di atas oleh pl_rock benar, satu-satunya hal yang saya tambahkan adalah mengharapkan ARG di dalam Dockerfile jika tidak, Anda tidak akan memiliki akses ke sana. Jadi, jika Anda melakukannya
Kemudian di dalam Dockerfile Anda harus menambahkan
Saya mengalami masalah ini, jadi saya harap saya membantu seseorang (diri sendiri) di masa depan.
sumber
ARGS
harus dideklarasikan setelahFROM
ARG
bahkan tidak disebutkan dalam docs.docker.com/engine/reference/commandline/build/… dan--build-arg
tidak berguna bagi saya tanpaARG
Jika Anda ingin menggunakan variabel lingkungan selama membangun. Katakanlah pengaturan nama pengguna dan kata sandi.
Dockerfile
Perintah Terminal
docker build --build-arg SMB_PASS=swed24sw --build-arg SMB_USER=Ubuntu . -t IMAGE_TAG
sumber
docker history
perintah.Sangat memalukan bahwa kita memerlukan beberapa ARG juga, ini menghasilkan beberapa lapisan dan memperlambat pembangunan karena itu, dan bagi siapa pun yang bertanya-tanya bahwa, saat ini tidak ada cara untuk mengatur beberapa ARG.
sumber