2015-12-09 25 views
6

Bir argüman bir docker dosyasına nasıl aktarılır?Docker yapı bağımsız değişkeni

Ben dockerfile kullandığınızı varsayalım:

FROM ubuntu:14.04 

MAINTAINER Karl Morrison 

sudo do-something-here myVarHere 
Ben mesela böylece dosyayı kurmak isterim

:

docker build basickarl/my-image-example /directory/of/my/dockerfile "my string to be passed to myVarHere here!" 

cevap

2

Biz de benzer bir şartı vardı ve nispeten ile geldi ettik Tam olarak yapan basit komut dosyası:

Tanımladığınız gibi değişkenleri kullandığımız dockerfile_template adlı bir dosya oluşturuyoruz. Komut dosyası bu dosyayı alır, dize değiştirmeleri gerçekleştirir ve docker build dockerfile'u aramadan önce dockerfile (_template yok) dosyasına kopyalar.

Oldukça iyi çalışıyor. Ayrıca gelecekteki ihtiyaçlar için çok genişletilebilir.

Güncelleme:

Hurda söyledi. Kullanım build-arg (here)

5

Docker burada

FROM ubuntu:14.04 

MAINTAINER Karl Morrison 

ARG myVarHere 

RUN do-something-here myVarHere 

kullanmak Sonra --build-arg kullanarak inşa edebilirsiniz ARG sahiptir: inşa args ile sorun yaşıyorsanız olanlar için

docker build --build-arg myVarHere=value 
+4

, yukarıda, büyük ölçüde doğrudur bununla birlikte, hatalara RUN komutlarında ortam değişkenleri olarak erişilir. Buradaki belgelere [buradan ulaşabilirsiniz] (https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables---build-arg) ve [here] (https : //docs.docker.com/engine/reference/builder/#environment-replacement). Yukarıdaki RUN komutu şu şekilde olacaktır: 'RUN do-something-here $ myVarHere' –

İlgili konular