ImageMagick的安装在多克阿尔卑斯

问题描述:

所以我有这个Dockerfile试图安装ImageMagick的方式如下:ImageMagick的安装在多克阿尔卑斯

FROM ruby:2.4-alpine 

... 

RUN apk --update add imagemagick 

... 

的一点是,容器不承认file实用程序(内容类型检测)。

本地环境(Mac OSX版,用BREW安装ImageMagick的):

> 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 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之外的另一个函数来进行内容类型检测,因为我正在使用明确使用它的框架。

file实用程序不是ImageMagick的一部分。这是一个标准的实用程序。您可以在https://en.wikipedia.org/wiki/File_(command)处阅读矿石。

在阿尔卑斯山的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 
/#