ImageMagick-Installation in Docker Alpine

2979
Fdo

Ich habe also diese Docker-Datei, die versucht, ImageMagick folgendermaßen zu installieren:

FROM ruby:2.4-alpine  ...  RUN apk --update add imagemagick  ... 

Der Punkt ist, dass der Container das fileDienstprogramm (für die Erkennung des Inhaltstyps) nicht erkennt .

Lokale Umgebung (Mac OSX, installiertes Imagemagick mit 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 Container (Zugriff auf die Shell über 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 

Versuchte auch die Installation imagemagick-devvon selbst, und beide kombinierten ohne Glück (sollte keinen Unterschied machen, da das erste davon eine Abhängigkeit von letzterem ist, denke ich).

Die Frage ist, wie kann ich das im Alpencontainer installieren? Ich glaube, ich vermisse etwas, kann es aber nicht verstehen.

Ich kann mich übrigens nicht auf eine andere Funktion als fileauf die Erkennung von Inhaltstypen verlassen, da ich ein Framework verwende, das dies explizit verwendet.

0

1 Antwort auf die Frage

0
Moj

Hier ist ein ähnliches Q / A, das mir bei stackoverflow geholfen hat:
Imagemagick-Installation in Docker Alpine

Das Dateidienstprogramm ist nicht Teil von ImageMagick, es ist ein Standardhilfsprogramm. Sie können mehr darüber auf Wikipedia lesen:
Datei (Befehl) .

Unter Alpine Linux können Sie es mit installieren apk add --no-cache file. Wie in der folgenden Terminalsitzung gezeigt:

/ # 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 Vielen Dank für den Punkt, es ist wirklich hilfreich, die wesentlichen Teile einzubeziehen. Moj vor 6 Jahren 0