Graças ao comentário da BMitch , encontrei a resposta. Eu precisava do pacote libc6-compat
para compatibilidade GNU libc. Aqui está a versão fixa do arquivo docker:
FROM alpine:3.6
ENV BOWTIE2_VERSION 2.2.8
RUN apk add --no-cache \
perl \
wget \
openssl \
ca-certificates \
libc6-compat \
libstdc++ \
&& wget https://downloads.sourceforge.net/project/bowtie-bio/bowtie2/$BOWTIE2_VERSION/bowtie2-$BOWTIE2_VERSION-linux-x86_64.zip \
&& unzip -d /usr/local bowtie2-$BOWTIE2_VERSION-linux-x86_64.zip \
&& rm bowtie2-$BOWTIE2_VERSION-linux-x86_64.zip
Eu também trabalhei quando eu criei o bowtie2 da fonte, então eu acho que vou com isso. Não tenho certeza de quão confiável é o pacote de compatibilidade.
Se você quiser todos os detalhes, eu tive que instalar o pacote file
para seguir a sugestão do BMitch:
$ sudo docker run --rm -it bowtie2-bin sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz
v3.6.2-201-g6289c8472a [http://dl-cdn.alpinelinux.org/alpine/v3.6/main]
v3.6.2-203-g6070fe8ac2 [http://dl-cdn.alpinelinux.org/alpine/v3.6/community]
OK: 8438 distinct packages available
/ # apk add file
(1/2) Installing libmagic (5.32-r0)
(2/2) Installing file (5.32-r0)
Executing busybox-1.26.2-r7.trigger
OK: 50 MiB in 21 packages
/ # file /usr/local/bowtie2-2.2.8/bowtie2-align-s
/usr/local/bowtie2-2.2.8/bowtie2-align-s: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.9, with debug_info, not stripped
O intérprete interpreter /lib64/ld-linux-x86-64.so.2
pareceu suspeito para mim, e o Alpine Linux não tem uma pasta /lib64
. Uma pequena pesquisa encontrou uma discussão relacionada :
The binary you try to run is linked against GNU libc so it will not work, just like binaries compiled for windows or OSX will not work.
That said, musl libc provides partial GNU libc compatibility, which means that some binaries will actually work, even if there are no guarantee. Try
apk add libc6-compat
. It may or may not work.
Eu tentei isso e descobri que também precisava do pacote libstdc++
. Agora funciona bem o suficiente para relatar o número da versão.