Rob*_*ves 37 linux redhat pyinstaller docker docker-compose
安装docker和docker-compose后:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.6 (Maipo)"
Run Code Online (Sandbox Code Playgroud)
执行时:
sudo docker-compose -version
Run Code Online (Sandbox Code Playgroud)
它返回:
Error while loading shared libraries: libz.so.1: failed to map segment from shared object: Operation not permitted
它应该返回:
docker-compose version 1.25.0-rc2, build 661ac20e
Run Code Online (Sandbox Code Playgroud)
从 docker-compose 安装是这样的
Rob*_*ves 76
通过重新安装 /tmp 以授予卷执行权限(它可以以只读方式访问)得到解决。所以这解决了:
sudo mount /tmp -o remount,exec
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 30
配置用户特定的TMPDIR目录可以解决这个问题。的TMPDIR环境变量是POSIX标准,但TMP(和其他一些)可以被普遍接受的为好。
其他答案解决了如何配置全局默认临时目录。如果系统的安全策略不允许/tmp执行,这里有两个示例。
第一个示例解决方案
mkdir $HOME/tmp
export TMPDIR=$HOME/tmp
docker-compose --version
Run Code Online (Sandbox Code Playgroud)
为方便起见,在创建目录后,可以将“export”语句放在 shell 的配置文件配置中(例如:~/.bash_profile或~/.bashrc)。
第二个示例解决方案
配置别名(示例文件:~/.bashrc或~/.bash_alias)。
alias docker-compose="TMPDIR=${HOME}/tmp docker-compose"
Run Code Online (Sandbox Code Playgroud)
这个问题似乎是一个常见的绊脚石。一些挖掘表明它可能与 PyInstaller 而不是 docker-compose 具体有关。
| 归档时间: |
|
| 查看次数: |
34295 次 |
| 最近记录: |