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.