Menyelesaikannya dengan memasang kembali /tmp untuk memberikan izin volume untuk mengeksekusi (itu dapat diakses dengan read-only). Jadi ini dipecahkan:
sudo mount /tmp -o remount,exec
Mengonfigurasi TMPDIR
khusus pengguna direktori memecahkan masalah. Variabel lingkungan TMPDIR adalah standar POSIX, tetapi TMP (dan beberapa lainnya) juga dapat diterima secara umum.
Jawaban lain membahas cara mengonfigurasi direktori sementara default global. Berikut adalah dua contoh jika kebijakan keamanan sistem tidak mengizinkan /tmp
untuk dapat dieksekusi.
Solusi Contoh Pertama
mkdir $HOME/tmp
export TMPDIR=$HOME/tmp
docker-compose --version
Untuk kenyamanan, setelah direktori dibuat, pernyataan "ekspor" dapat ditempatkan di konfigurasi profil shell (contoh:~/.bash_profile
atau ~/.bashrc
).
Solusi Contoh Kedua
Konfigurasikan alias (file contoh:~/.bashrc
atau ~/.bash_alias
).
alias docker-compose="TMPDIR=${HOME}/tmp docker-compose"
Ini adalah masalah yang tampaknya menjadi titik sandungan yang umum. Beberapa penggalian menunjukkan bahwa itu mungkin terkait dengan PyInstaller dan bukan pembuatan docker secara khusus.
Saya memiliki masalah yang sama dan kedua contoh solusi dari Kevin bekerja untuk saya, inilah yang saya lakukan:
- Saya melakukan apa yang dikatakan Kevin dan saya meletakkan
export TMPDIR=$HOME/tmp
pada~/.bashrc
berkas