Установка ImageMagick в Docker Alpine

Установка ImageMagick в Docker Alpine

Итак, у меня есть этот Dockerfile, который пытается установить ImageMagick следующим образом:

FROM ruby:2.4-alpine

...

RUN apk --update add imagemagick

...

Дело в том, что контейнер не распознает fileутилиту (для определения типа контента).

Локальная среда (Mac OSX, установленный imagemagick с помощью 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

Контейнер Docker Alpine (доступ к оболочке осуществляется с помощью 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

Также пробовал устанавливать их imagemagick-devпо отдельности, и оба вместе безуспешно (полагаю, разницы не должно быть, поскольку первый является зависимостью второго).

Вопрос в том,как мне установить это в контейнер Alpine?Мне кажется, я что-то упускаю, но не могу понять, что именно.

Кстати, я не могу полагаться ни на какую другую функцию, кроме fileфункции определения типа контента, поскольку я использую фреймворк, который явно ее использует.

решение1

Вот похожий вопрос/ответ, который мне помог на stackoverflow:
установка imagemagick в docker alpine

Файловая утилита не является частью ImageMagick, это стандартная утилита. Подробнее о ней можно прочитать на википедии:
Файл (команда).

В Alpine Linux вы можете установить его с помощью apk add --no-cache file. Как показано в следующем сеансе терминала:

/ # 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
/ #

Связанный контент