Ich habe es gelöst, indem ich /tmp neu gemountet habe, um dem Volume die Ausführungsberechtigung zu erteilen (es war nur mit Lesezugriff zugänglich). Also das gelöst:
sudo mount /tmp -o remount,exec
Konfigurieren eines benutzerspezifischen TMPDIR
Verzeichnis löst das Problem. Die Umgebungsvariable TMPDIR ist POSIX-Standard, aber TMP (und einige andere) können auch allgemein akzeptiert werden.
Andere Antworten befassen sich mit der Konfiguration des globalen temporären Standardverzeichnisses. Hier sind zwei Beispiele, wenn die Sicherheitsrichtlinie des Systems /tmp
nicht zulässt ausführbar sein.
Erste Beispiellösung
mkdir $HOME/tmp
export TMPDIR=$HOME/tmp
docker-compose --version
Nachdem das Verzeichnis erstellt wurde, kann der Einfachheit halber die "Export"-Anweisung in die Profilkonfiguration der Shell eingefügt werden (Beispiel:~/.bash_profile
oder ~/.bashrc
).
Zweite Beispiellösung
Konfigurieren Sie einen Alias (Beispieldateien:~/.bashrc
oder ~/.bash_alias
).
alias docker-compose="TMPDIR=${HOME}/tmp docker-compose"
Dies ist ein Problem, das ein häufiger Stolperstein zu sein scheint. Einige Grabungen zeigen, dass es möglicherweise mit PyInstaller zusammenhängt und nicht speziell mit Docker-Compose.
Ich hatte das gleiche Problem und beide Beispiellösungen von Kevin funktionieren für mich, hier ist das, was ich getan habe:
- Ich tue, was Kevin gesagt hat, und gebe
export TMPDIR=$HOME/tmp
ein auf der~/.bashrc
Datei