2015-02-25 12 views
29

Ich habe versucht, die PATH in den Dateien ~/.profile und /etc/profile wie folgt hinzuzufügen.PATH-Umgebungsvariable permanent im Docker-Container aktualisieren

PATH = $PATH:/required/path 

Es funktioniert jedoch nicht. Dann habe ich versucht, die Zeilenshow hinzuzufügen, was auch nicht funktioniert hat.

Es funktionierte nicht einmal nach dem Neustart des Containers und des Hosts beide.

+0

Die Frage war nach dem Erstellen des Containers und machte einige Änderungen. Nicht beim Erstellen des Containers mithilfe der Docker-Konfigurationsdatei. – user859375

Antwort

4

ich die Antwort auf diese Frage in Chat bekam. Gegeben hier für den Nutzen von jedem, der auf dieses stoßen könnte. Viele Leute haben falsche Antworten gegeben als Update ~/.profile, aber das hat nicht funktioniert. Verwenden Sie die Antwort unten.

Aktualisieren Sie die Datei ~/.bashrc für Benutzer oder aktualisieren Sie die Datei /etc/enviroment global für globale Änderung, die für alle Benutzer gelten wird.

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

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

+0

Ich denke, Jason Gaos Antwort sollte die akzeptierte sein, wenn man bedenkt, dass die Frage sich auf Docker bezieht. Das Aktualisieren von Bash-Profilen ist eine gute Möglichkeit, Variablen in einer standardmäßigen nicht containerisierten Umgebung zu speichern. Sie können jedoch einen ENV-Schritt in Ihrer Docker-Datei einfügen, wenn Sie sie in einem Container bereitstellen. – NiallJG

+1

Die Methode für 'in der Umgebung' ist gemäß diesem Ubuntu-Dokument falsch (Hinweis: Die Variablenerweiterung funktioniert nicht in/etc/environment.). https://help.ubuntu.com/community/EnvironmentVariables#A.2Fetc.2Fenvironment – dangeroushobo

52

Wenn Sie eine /new/path im Dockerfile aufnehmen möchten, das Hinzufügen der Zeile:

ENV PATH "$PATH:/new/path"

in Dockerfile sollte funktionieren.

+2

Beachten Sie, dass die Anführungszeichen wichtig sind. – orodbhen

+0

Das funktioniert aber nicht für alle Benutzer. Irgendeine Idee, wie man es für jeden verfügbar macht? – MrUpsidown

Verwandte Themen