【问题标题】:ImageMagick installation in Docker Alpine在 Docker Alpine 中安装 ImageMagick
【发布时间】:2017-09-26 00:01:07
【问题描述】:

所以我有这个 Dockerfile 尝试通过以下方式安装 ImageMagick:

FROM ruby:2.4-alpine

...

RUN apk --update add imagemagick

...

关键是容器无法识别file 实用程序(用于内容类型检测)。

本地环境(Mac OSX,安装imagemagickbrew):

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

【问题讨论】:

    标签: docker imagemagick paperclip alpine paperclip-validation


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      使用高山:3.13

      运行apk --no-cache add php8-pecl-imagick

      【讨论】:

        猜你喜欢
        • 2019-07-20
        • 2016-01-30
        • 2016-11-28
        • 2019-02-23
        • 2017-07-14
        • 2018-06-25
        • 1970-01-01
        • 1970-01-01
        • 2017-05-25
        相关资源
        最近更新 更多