我正在尝试从安装 Docker 的 PredictProtein这里. PredictProtein 使用的安装数据库的脚本将数据下载为.txz
文件。
下载后,脚本尝试解压文件。解压失败,并显示错误消息
/usr/local/bin/setupdb: line 15: xz: command not found
为什么会失败?我该如何解决这个问题?
我使用 Docker 版本 17.12.1-ce;我使用 VirtualBox 在 Ubuntu 16.04.3 VM 中运行它
脚本(复制到容器内)如下:
#!/bin/bash
if [ -d /usr/share/rostlab-data/ ]; then
echo "Removing current database..."
rm -rf /usr/share/rostlab-data/
fi
mkdir /usr/share/rostlab-data/
cd /usr/share/rostlab-data/
echo "Downloading database release..."
wget -O rostlab-data.txz "http://www.rostlab.org/services/ppmi/download_file?format=gzip&file_to_download=db"
echo "Extracting..."
xz -d rostlab-data.txz
tar xvf rostlab-data.tar
rm -f rostlab-data.tar
echo "Done."
答案1
由于找不到 xz 命令,因此该工具可能未安装。如果容器基于 ubuntu(可能不是),则会安装它,这让我猜测它基于 alpine。
尝试安装 xz!
apk add xz
或者,如果您正在编辑 Dockerfile,只需在文件开头添加一个 RUN 语句。