Risolto il problema rimontando /tmp per autorizzare l'esecuzione del volume (era accessibile in sola lettura). Quindi questo ha risolto:
sudo mount /tmp -o remount,exec
Configurazione di un TMPDIR
specifico dell'utente directory risolve il problema. La variabile d'ambiente TMPDIR è lo standard POSIX, ma anche TMP (e poche altre) può essere comunemente accettata.
Altre risposte riguardano come configurare la directory temporanea predefinita globale. Ecco due esempi se la politica di sicurezza del sistema non consente /tmp
eseguibile.
Prima soluzione di esempio
mkdir $HOME/tmp
export TMPDIR=$HOME/tmp
docker-compose --version
Per comodità, dopo che la directory è stata creata, l'istruzione "export" può essere inserita nella configurazione del profilo della shell (esempio:~/.bash_profile
o ~/.bashrc
).
Secondo esempio di soluzione
Configura un alias (file di esempio:~/.bashrc
o ~/.bash_alias
).
alias docker-compose="TMPDIR=${HOME}/tmp docker-compose"
Questo è un problema che sembra essere un punto d'inciampo comune. Alcuni scavi mostrano che potrebbe essere correlato a PyInstaller e non specificamente a docker-compose.
Ho avuto lo stesso problema ed entrambe le soluzioni di esempio di Kevin funzionano per me, ecco cosa ho fatto:
- Faccio quello che ha detto Kevin e metto
export TMPDIR=$HOME/tmp
sul~/.bashrc
file