Instalação do ImageMagick no Docker Alpine

0

Então eu tenho este Dockerfile que tenta instalar o ImageMagick da seguinte maneira:

FROM ruby:2.4-alpine

...

RUN apk --update add imagemagick

...

O ponto é que o contêiner não reconhece o utilitário file (para detecção de tipo de conteúdo).

Ambiente local (Mac OSX, imagemagick instalado com brew):

> file --version
file-5.25
magic file from /usr/share/file/magic

> convert --version
Version: ImageMagick 6.9.9-5 Q16 x86_64 2017-08-03 
http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC Modules
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib

Contêiner do Docker Alpine (acessado ao shell usando docker exec -it CONTAINER_ID ):

> file --version
sh: file: not found

> convert --version
Version: ImageMagick 6.9.5-9 Q16 x86_64 2016-10-21         
http://www.imagemagick.org
Copyright: Copyright (C) 1999-2016 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher Modules
Delegates (built-in): fontconfig freetype gslib jng jpeg lcms ltdl png ps tiff webp zlib

Também tentei instalar o imagemagick-dev por si mesmo, e ambos combinados sem nenhuma sorte (não deveria fazer diferença, já que o primeiro é uma dependência do último, eu acho).

A questão é, como posso instalá-lo no contêiner Alpine? Acho que estou perdendo algo, mas não consigo descobrir.

A propósito, não posso confiar em outra função diferente de file para detecção de tipo de conteúdo, já que estou usando uma estrutura que usa isso explicitamente.

    
por Fdo 26.09.2017 / 01:58

1 resposta

0

Veja um Q / A semelhante que me ajudou no stackoverflow: instalação do imagemagick no docker alpino

O utilitário de arquivos não faz parte do ImageMagick, é um utilitário padrão. Você pode ler mais sobre isso na wikipedia:
Arquivo (comando) .

No Alpine Linux, você pode instalá-lo com apk add --no-cache file . Como mostrado na seguinte sessão de terminal:

/ # file /etc/group
/bin/sh: file: not found
/ # apk add --no-cache file
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
(1/2) Installing libmagic (5.32-r0)
(2/2) Installing file (5.32-r0)
Executing busybox-1.26.2-r5.trigger
OK: 9 MiB in 13 packages
/ # file /etc/group
/etc/group: ASCII text
/ #
    
por 24.10.2017 / 02:25