A mia conoscenza, solo ENV
permette che, come indicato nella sezione "Environment replacement" Variabili
Ambiente (dichiarata con l'istruzione ENV
) può essere utilizzato anche in alcune istruzioni come variabili per essere interpretati dalla Dockerfile.
devono essere variabili ambiente al fine di essere dichiarato nuovamente in ogni nuova contenitori creati per ogni riga del Dockerfile da docker build
.
In altre parole, tali variabili non vengono interpretate direttamente in un Dockerfile, ma in un contenitore creato per una linea Dockerfile, quindi l'uso della variabile di ambiente.
Questo giorno, io uso sia ARG
(docker 1.10+, and docker build --build-arg var=value
) e ENV
.
L'utilizzo di ARG
da solo indica che la variabile è visibile al momento della compilazione, non in fase di esecuzione.
mio Dockerfile di solito ha:
ARG var
ENV var=${var}
Nel tuo caso, ARG
basta: lo uso in genere per l'impostazione http_proxy variabile, che costruiscono finestra mobile ha bisogno per l'accesso a internet in fase di compilazione.
è possibile utilizzare ARG - vedere https://docs.docker.com/engine/reference/builder/#arg – lumos0815
@ lumos0815, penso che si dovrebbe post che come la tua risposta (anche se è un vecchio post; per i posteri) poiché questo è esattamente ciò che l'OP sta chiedendo. – shriek