docker - Docker Alpine中的ImageMagick安装

标签 docker imagemagick paperclip alpine paperclip-validation

所以我有这个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访问 shell ):
> 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的一部分。这是一个标准实用程序。您可以在Wikipedia上阅读有关它的矿石:
File (command)

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

关于docker - Docker Alpine中的ImageMagick安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46415869/

相关文章:

docker - Docker overlay2磁盘使用情况

docker - 使用 docker run echo 环境变量

imagemagick - 如何以编程方式创建 APNG 文件?

imageMagick:在pdf的第二页上绘制文本

ruby - 在 rails3 中使用回形针 gem

ruby-on-rails - 带回形针的 Rails 在生产中不起作用

docker - 使用 Chef 设置 apt 存储库

centos - Docker:ping:未知主机 yahoo.com

batch-file - 如何在批处理文件中设置参数等于VB6变量

ruby-on-rails - 回形针 S3 default_url