首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ImageMagick无法从Docker容器中从HTTPS获取文件

ImageMagick无法从Docker容器中从HTTPS获取文件
EN

Stack Overflow用户
提问于 2022-10-11 12:43:49
回答 1查看 63关注 0票数 1

我试图在码头容器中使用ImageMagick 7。不过,它没有安装任何委托,尽管我添加了libpng-dev。当我尝试使用以下命令从https获取容器内的图像时:

代码语言:javascript
运行
复制
magick https://www.nasa.gov/sites/default/files/thumbnails/image/moon_mosaic.png ./test.png

我收到这样的信息:

代码语言:javascript
运行
复制
magick: no decode delegate for this image format `DAT' @ error/constitute.c/ReadImage/738.

这是没有意义的,因为它是一个PNG图像,而不是一个DAT文件。

在这里,我的Dockerfile:

代码语言:javascript
运行
复制
FROM debian:bullseye-slim

ARG IM_VERSION="7.1.0-37"
ARG IM_BUILD_FLAGS="--enable-shared --disable-static --without-modules --enable-delegate-build --disable-docs --with-heic=yes"

WORKDIR /app

RUN apt-get update && apt-get install -y wget && \
    apt-get install -y build-essential curl libpng-dev && \
    wget https://github.com/ImageMagick/ImageMagick/archive/refs/tags/${IM_VERSION}.tar.gz && \
    tar xzf ${IM_VERSION}.tar.gz && \
    rm ${IM_VERSION}.tar.gz && \
    apt-get clean && \
    apt-get autoremove
    
WORKDIR /app/ImageMagick-${IM_VERSION}
RUN sh ./configure ${IM_BUILD_FLAGS} && make -j && make install && ldconfig /usr/local/lib/

在这里,构建ImageMagick的配置部分的输出:

代码语言:javascript
运行
复制
configure:
==============================================================================
ImageMagick 7.1.0-37 is configured as follows. Please verify that this
configuration matches your expectations.
Host system type: x86_64-pc-linux-gnu
Build system type: x86_64-pc-linux-gnu
                  Option                        Value
------------------------------------------------------------------------------
Shared libraries  --enable-shared=yes       yes
Static libraries  --enable-static=no        no
Build utilities   --with-utilities=yes      yes
Module support    --with-modules=no     no
GNU ld            --with-gnu-ld=yes     yes
Quantum depth     --with-quantum-depth=16   16
High Dynamic Range Imagery
                  --enable-hdri=yes     yes
Install documentation:              no
Memory allocation library:
  JEMalloc          --with-jemalloc=no      no
  TCMalloc          --with-tcmalloc=no      no
  UMem              --with-umem=no      no
Delegate library configuration:
  BZLIB             --with-bzlib=yes        no
  Autotrace         --with-autotrace=no     no
  DJVU              --with-djvu=yes     no
  DPS               --with-dps=yes      no
  FFTW              --with-fftw=no      no
  FLIF              --with-flif=no      no
  FlashPIX          --with-fpx=yes      no
  FontConfig        --with-fontconfig=yes   no
  FreeType          --with-freetype=yes     no
  Ghostscript lib   --with-gslib=no     no
  Graphviz          --with-gvc=yes      no
  HEIC              --with-heic=yes     no
  JBIG              --with-jbig=yes     no
  JPEG v1           --with-jpeg=yes     no
  JPEG XL           --with-jxl=no       no
  LCMS              --with-lcms=yes     no
  LQR               --with-lqr=yes      no
  LTDL              --with-ltdl=no      no
  LZMA              --with-lzma=yes     no
  Magick++          --with-magick-plus-plus=yes yes
  OpenEXR           --with-openexr=yes      no
  OpenJP2           --with-openjp2=yes      no
  PANGO             --with-pango=yes        no
  PERL              --with-perl=no      no
  PNG               --with-png=yes      no
  RAQM              --with-raqm=yes     no
  RAW               --with-raw=yes      no
  RSVG              --with-rsvg=no      no
  TIFF              --with-tiff=yes     no
  WEBP              --with-webp=yes     no
  WMF               --with-wmf=no       no
  X11               --with-x=           no
  XML               --with-xml=yes      no
  ZIP               --with-zip=yes      no
  ZLIB              --with-zlib=yes     no
  ZSTD              --with-zstd=yes     no
Delegate program configuration:
  GhostPCL          None            pcl6 (unknown)
  GhostXPS          None            gxps (unknown)
  Ghostscript       None            gs (unknown)
Font configuration:
  Apple fonts       --with-apple-font-dir=default   
  Dejavu fonts      --with-dejavu-font-dir=default  none
  Ghostscript fonts --with-gs-font-dir=default      none
  URW-base35 fonts  --with-urw-base35-font-dir=default  none
  Windows fonts     --with-windows-font-dir=default none
X11 configuration:
  X_CFLAGS        = 
  X_PRE_LIBS      = 
  X_LIBS          = 
  X_EXTRA_LIBS    = 
Options used to compile and link:
  PREFIX          = /usr/local
  EXEC-PREFIX     = /usr/local
  VERSION         = 7.1.0-37
  CC              = gcc
  CFLAGS          = -fopenmp -Wall -g -O2 -mtune=ivybridge -fexceptions -pthread -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16
  CPPFLAGS        =  -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16
  PCFLAGS         = 
  DEFS            = -DHAVE_CONFIG_H
  LDFLAGS         = 
  LIBS            =                                         -lm    -lpthread 
  CXX             = g++
  CXXFLAGS        =  -pthread
  FEATURES        = DPC HDRI Cipher OpenMP
  DELEGATES       = 
==============================================================================

所有的代表似乎都不是活跃的。

编辑:我再次检查了输出。看上去好像找不到

代码语言:javascript
运行
复制
-------------------------------------------------------------
checking for libpng >= 1.0.0... no
-------------------------------------------------------------

我检查了安装的版本,它是1.6.37-3

当我在Docker容器之外使用ImageMagick时,它没有问题。我不知道问题是什么,也不知道为什么不配置代表。遗憾的是,我无法用ImageMagick 7安装apt

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-11 18:44:35

尝试将pkg-config (可能还包括autoconf )添加到先决条件包列表中。ImageMagick在查找和配置这些助手(特别是PNG委托)方面要好得多:

代码语言:javascript
运行
复制
RUN apt-get update && apt-get install -y wget && \
    apt-get install -y autoconf pkg-config ...

实际上,高寒码头图像对于ImageMagick来说是辉煌的。它非常流行,非常小,包括大量的代表:

代码语言:javascript
运行
复制
docker run --rm -it -v "$(pwd)":/work -w /work alpine:latest

/work # apk add --no-cache imagemagick
...
... output, output, output
... and then around 4 seconds later
...

/work # magick identify -version
Version: ImageMagick 7.1.0-50 beta Q16-HDRI x86_64 20489 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules 
Delegates (built-in): bzlib cairo fontconfig freetype gslib heic jng jpeg jxl lcms ltdl lzma png ps rsvg tiff webp x xml zlib
Compiler: gcc (11.2)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74028364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档