Um script de instalação no contêiner do Docker falha devido ao comando xz

1

Estou tentando instalar o PredictProtein for Docker de aqui . O script para instalar o banco de dados usado pelo PredictProtein faz o download dos dados como um arquivo .txz .

Após o download, o script tenta descompactar o arquivo. Isso falha, gerando a mensagem de erro

/usr/local/bin/setupdb: line 15: xz: command not found

Por que isso falha? E como eu poderia resolver isso?

Eu uso o Docker versão 17.12.1-ce; Eu corro dentro de uma VM Ubuntu 16.04.3, usando o VirtualBox

O script (copiado no contêiner) é o seguinte:

#!/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."
    
por Lafayette 15.03.2018 / 14:43

1 resposta

2

Como o comando xz não foi encontrado, a ferramenta provavelmente não está instalada. Se o contêiner é baseado no Ubuntu (provavelmente não é), ele seria instalado, fazendo-me adivinhar que é baseado em alpine.

Tente instalar o xz!

apk add xz

Ou, se você estiver editando o Dockerfile, basta adicionar uma instrução RUN no início do arquivo.

    
por 15.03.2018 / 15:00