Bash:
#some lines before
RUN adduser --disabled-password --gecos "" myuser
RUN passwd -d myuser
RUN echo "root:no" | chpasswd
RUN echo "myuser ALL=(ALL:ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/myuser
USER myuser
WORKDIR /home/myuser/Downloads
RUN NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
RUN echo >> /home/myuser/.bashrc
RUN echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/myuser/.bashrc
RUN eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
RUN /home/linuxbrew/.linuxbrew/bin/brew install yt-dlp
#some lines after
Zeile 11 bis 13 klappt scheinbar nicht. Wenn ich den Container starte und eine Konsole öffne, steht der Befehl "brew" (und "yt-dlp") nicht zur Verfügung, und ich muss Zeile 11 bis 13 des Dockerfile noch einmal manuell ausführen. Woran könnte es liegen, dass der Pfad nicht erkannt wird, bzw. Zeile 11 bis 13 initial scheitert?
BTW: "/home/myuser/" mounte ich als Volume in den Container, der Ordner steht also auf dem Host und im Container zur Verfügung.
Ergänzung ()
AAAAAAAAAAAAAAAAAAAAaaaa, ich hab den Fehler gefunden, "/home/myuser/" wird ja erst gemountet, wenn der Container startet, noch nicht, wenn er gebaut wird... Das heißt im Klartext, die Änderung in "/home/myuser/.bashrc" hat einfach keinen Effekt danach - und wird durch den Mount wieder verworfen. Right?
Deshalb gebe ich in Zeile 14 auch den vollen Pfad an.
Zuletzt bearbeitet: