Inkscapeはローカルコンピュータでは動作しますが、Dockerコンテナでは動作しません。

Inkscapeはローカルコンピュータでは動作しますが、Dockerコンテナでは動作しません。
FROM python:3.10

RUN apt-get update && apt-get install -y inkscape

WORKDIR /app

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 5000

CMD ["gunicorn", "--workers", "8", "--bind", "0.0.0.0:8484", "wsgi:app"]

上記は私のドッカーファイルです。

以下は私のコードです

   image_name = re.sub(r'[^\w\s-]', '', title)
             svgchart  = chart_pygal.render()
             inkscape_process = subprocess.Popen(['inkscape', '-z', '-e', '-', '-'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
             png_data, error = inkscape_process.communicate(input=svgchart)
             png_io = BytesIO(png_data)
             return send_file(png_io ,mimetype='image/png', download_name=image_name+'.png', as_attachment=True) 

svgをpngに変換していますが、私のコンピュータでは正常に動作しますが、dockerコンテナでは動作しません。次のエラーが発生します。申し訳ありません。フォーマットがサポートされていないか、ファイルがすでにダウンロードされており、ダウンロードした画像サイズが0 kbであるため、写真でこのファイルを開くことはできません。

ベストアンサー1

おすすめ記事