Come posso far funzionare automaticamente /etc/profile
quando si avvia un container di Alpine Docker in modo interattivo? Ho aggiunto alcuni alias a un file aliases.sh
e l'ho inserito in /etc/profile.d
, ma quando avvio il contenitore utilizzando docker run -it [my_container] sh
, i miei alias non sono attivi. Devo digitare manualmente . /etc/profile
dalla riga di comando ogni volta.Come ottenere/etc/profile per l'esecuzione automatica in Alpine/Docker
Esiste qualche altra configurazione necessaria per eseguire /etc/profile
all'accesso? Ho anche avuto problemi con l'utilizzo di un file ~/.profile
. Qualsiasi comprensione è apprezzata!
EDIT:
in base alla risposta del VonC, ho tirato e corse il suo esempio ruby
contenitore. Ecco quello che ho ottenuto:
$ docker run --rm --name ruby -it codeclimate/alpine-ruby:b42
/# more /etc/profile.d/rubygems.sh
export PATH=$PATH:/usr/lib/ruby/gems/2.0.0/bin
/# env
no_proxy=*.local, 169.254/16
HOSTNAME=6c7e93ebc5a1
SHLVL=1
HOME=/root
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
/# exit
Anche se il file esiste /etc/profile.d/rubygems.sh
, non viene eseguito quando faccio il login e la mia variabile d'ambiente PATH
non viene aggiornato. Sto usando il comando errato docker run
? Manca qualcos'altro? Qualcuno ha ottenuto i file ~/.profile
o /etc/profile.d/
per funzionare con Alpine su Docker? Grazie!
Hai provato costruire immagini in stile alpino con 'ADD .profile/etc/.profile'? –
No, non ho mai sentito parlare di usare '/ etc/.profile'. Ho sempre creduto che '.profile' appartenga alla tua directory' HOME', mentre 'profile' (no dot) appartiene a'/etc'. –