我使用plotly破折号绘制图形创建了python脚本,然后使用plotly-orca导出了所创建图形的静态图像。我想使用dockerise这个脚本,但是我的问题是我构建并运行映像,但出现“需要orca可执行文件才能将图形导出为静态映像”错误。我现在的问题是如何将可执行文件作为docker映像的一部分包含在内?
最佳答案
根据this Dockerfile的this advice的说法,由于plotly-orca的性质,它有点复杂。将此添加到您的Dockerfile
:
# Download orca AppImage, extract it, and make it executable under xvfb
RUN apt-get install --yes xvfb
RUN wget https://github.com/plotly/orca/releases/download/v1.1.1/orca-1.1.1-x86_64.AppImage -P /home
RUN chmod 777 /home/orca-1.1.1-x86_64.AppImage
# To avoid the need for FUSE, extract the AppImage into a directory (name squashfs-root by default)
RUN cd /home && /home/orca-1.1.1-x86_64.AppImage --appimage-extract
RUN printf '#!/bin/bash \nxvfb-run --auto-servernum --server-args "-screen 0 640x480x24" /home/squashfs-root/app/orca "$@"' > /usr/bin/orca
RUN chmod 777 /usr/bin/orca
RUN chmod -R 777 /home/squashfs-root/