Sayı 684'te gösterildiği gibi , export
görüntülerde kalıcı olmayacak. (Her Dockerfile yönergesinin bir ara görüntüye işlenmiş bir ara kap oluşturacağını unutmayın: bu görüntü dışa aktarılan değeri korumaz)
ENV
:
Kullanılarak ayarlanan ortam değişkenleri ENV
, elde edilen görüntüden bir kap çalıştırıldığında kalıcı olacaktır.
Değerleri ile görüntüleyebilir ve kullanarak docker inspect
değiştirebilirsiniz docker run --env <key>=<value>
.
Sorun şunu gösteriyordu:
RUN export PATH=$PATH:/foo/bar # from directly in builder
Yaptığım docker run [img] bash -c 'echo $PATH'
zaman asla içermiyor /foo/bar
.
Dene
Şunları içeren yeni bir dockerfile oluşturun:
FROM centos:6
ENV FOO=foofoo
RUN export BAR=barbar
RUN export BAZ=bazbaz && echo "$FOO $BAR $BAZ"
Sonra inşa edin. Son adımın çıktısı:
Step 4/4 : RUN export BAZ=bazbaz && echo "$FOO $BAR $BAZ"
---> Running in eb66196b238d
foofoo bazbaz
Görebilirsin:
FOO
ENV
anahtar kelime sayesinde ara kaplarda devam eder ;
BAR
export
komut nedeniyle bir sonraki adımda ısrar etmez ;
BAZ
değişken aynı kapta kullanıldığından doğru şekilde görüntüleniyor.
docker
örneğin bu (bu seçenek argümanlarıyla) değişkenlerlerun
birlikte--env-file
veya dışarı aktarılacağı anlamına mı geliyor--env
? Bu kadar eski bir cevabı bulduğum için üzgünüm ama bir web araştırması bunu aklıma getirdi. Güzel cevap btw.