Итак, у меня есть этот 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
для определения типа контента, так как я использую платформу, которая явно использует это.