2015-02-25 15 views
29

Ho provato ad aggiungere allo PATH nei file ~/.profile e /etc/profile come segue.Aggiornamento della variabile di ambiente PATH permanentemente nel contenitore Docker

PATH = $PATH:/required/path 

Tuttavia, non funziona. Poi ho provato ad aggiungere lo show di linea, che non ha funzionato neanche.

export PATH 

Non ha funzionato neanche dopo aver riavviato il contenitore e l'host entrambi.

+0

La domanda era dopo aver creato il contenitore e apportato alcune modifiche. Non durante la creazione del contenitore utilizzando il file di configurazione Docker. – user859375

risposta

4

ho avuto la risposta per questa domanda in Chat IRC. Dato qui per il beneficio di chiunque possa imbattersi in questo. Molte persone hanno dato risposte errate come aggiornare il ~/.profile ma quello non ha funzionato. Quindi usa la risposta qui sotto.

Aggiornare il file ~/.bashrc per l'utente o aggiornare il file /etc/enviroment globale per la modifica globale applicabile a tutti gli utenti.

In .bashrc export PATH: export PATH=$PATH:/new/path/bin

In ambiente: PATH=$PATH:/new/path/bin

+0

Penso che la risposta di Jason Gao dovrebbe essere accettata considerando che la domanda si riferisce a Docker. L'aggiornamento dei profili di bash è un ottimo modo per memorizzare le variabili su un ambiente standard non contenitore, ma è più pulito includere un passaggio ENV nel file Docker se si sta distribuendo in un contenitore. – NiallJG

+1

Il metodo per 'in ambiente' non è corretto secondo questo documento di Ubuntu (Nota: l'espansione delle variabili non funziona in/etc/environment.). https://help.ubuntu.com/community/EnvironmentVariables#A.2Fetc.2Fenvironment – dangeroushobo

52

Se si desidera includere un /new/path nel Dockerfile, aggiungendo la riga:

ENV PATH "$PATH:/new/path"

in Dockerfile dovrebbe funzionare.

+2

Si noti che le virgolette sono importanti. – orodbhen

+0

Funziona ma non per tutti gli utenti. Qualche idea su come renderlo disponibile per tutti? – MrUpsidown

Problemi correlati