Bildiğim ENV
kadarıyla , sadece " Çevre değiştirme " de belirtildiği gibi buna izin verir
Ortam değişkenleri ( ENV
ifade ile bildirilen) bazı talimatlarda Dockerfile tarafından yorumlanacak değişkenler olarak da kullanılabilir.
Dockerfile tarafından her satır için oluşturulan her yeni kapsayıcılarda yeniden belirtilebilmesi için ortam değişkenleri olması gerekir docker build
.
Başka bir deyişle, bu değişkenler doğrudan bir Dockerfile içinde değil, Dockerfile satırı için oluşturulan bir kapta yorumlanır, dolayısıyla ortam değişkeni kullanılır.
Bu gün hem ARG
( docker 1.10+, vedocker build --build-arg var=value
) hem de kullanıyorum ENV
.
Tek ARG
başına kullanmak , değişkeninizin çalışma zamanında değil , derleme zamanında görülebileceği anlamına gelir .
Dockerfile dosyamda genellikle şunlar bulunur:
ARG var
ENV var=${var}
Sizin durumunuzda, ARG
yeterlidir: Ben genellikle http_proxy değişkenini ayarlamak için kullanıyorum, bu docker yapı inşa zamanında internete erişmek için gerekir.