Je l'ai résolu en remontant le /tmp pour donner au volume l'autorisation de s'exécuter (il était accessible en lecture seule). Donc c'est résolu :
sudo mount /tmp -o remount,exec
Configuration d'un TMPDIR
spécifique à l'utilisateur répertoire résout le problème. La variable d'environnement TMPDIR est la norme POSIX, mais TMP (et quelques autres) peut également être communément acceptée.
D'autres réponses expliquent comment configurer le répertoire temporaire global par défaut. Voici deux exemples pour si la politique de sécurité du système n'autorise pas /tmp
être exécutable.
Premier exemple de solution
mkdir $HOME/tmp
export TMPDIR=$HOME/tmp
docker-compose --version
Pour plus de commodité, une fois le répertoire créé, l'instruction "export" peut être placée dans la configuration du profil du shell (exemple :~/.bash_profile
ou ~/.bashrc
).
Deuxième exemple de solution
Configurer un alias (exemples de fichiers :~/.bashrc
ou ~/.bash_alias
).
alias docker-compose="TMPDIR=${HOME}/tmp docker-compose"
C'est un problème qui semble être un point d'achoppement commun. Certaines recherches montrent qu'il peut être lié à PyInstaller et non à docker-compose spécifiquement.
J'ai eu le même problème et les deux exemples de solution de Kevin fonctionnent pour moi, voici ce que j'ai fait :
- Je fais ce que Kevin a dit et je mets
export TMPDIR=$HOME/tmp
sur le~/.bashrc
fichier