Я создал образ докера ИЗ Ubuntu: 18.04 , и у меня установлено ImageMagick.Программа может конвертировать только файлы в хранилище докеров, и я не уверен, почему (у меня Windows).
Я сделал следующее:
# Running container
docker run -it -v c:/path/to/files:/data/ myimage
# Running imagemagick on files in data
magick -density 300 /data/myinput.pdf -quality 300 /data/myoutput.png
# Error message
Error: /undefinedfilename in (/tmp/magick-86JJbaxmanPmtT)
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:965/1684(ro)(G)-- --dict:0/20(G)-- --dict:78/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.26: Unrecoverable error, exit code 1
magick: FailedToExecuteCommand `'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r300x300' '-sOutputFile=/tmp/magick-86AnWywQtp36Zc%d' '-f/tmp/magick-86UR2ooTLLxHe3' '-f/tmp/magick-86JJbaxmanPmtT'' (1) @ error/pdf.c/InvokePDFDelegate/290.
Однако, если я копируюфайл в образ докера все работает нормально:
# Copying file to docker
mkdir data2
cp /data/myinput.pdf /data2/myinput.pdf
# Running imagemagick on file in data2
magick -density 300 /data2/myinput.pdf -quality 300 /data2/myoutput.png
Есть ли способ избежать копирования данных туда и обратно?У вас есть предложения, почему я получаю эти ошибки?