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

3182
Fdo

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

0

1 ответ на вопрос

0
Moj

Вот аналогичная Q / A, которая помогла мне в 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 / # 
@ mic84 Спасибо за это, очень полезно включить основные части. Moj 6 лет назад 0

Похожие вопросы