网站推广ww,如何做ppt 制作过程视频教程,微网站免,wordpress权限acl在编写dockerfile的时候#xff0c;可能会遇到需要针对不同平台进行不同操作的时候#xff0c;这需要我们对dockerfile进行针对性修改。
比如opencv的依赖项libjasper-dev在ubuntu18.04上就需要根据不同的平台做不同的处理#xff0c;关于这个库的安装在另外一篇博客里面有…在编写dockerfile的时候可能会遇到需要针对不同平台进行不同操作的时候这需要我们对dockerfile进行针对性修改。
比如opencv的依赖项libjasper-dev在ubuntu18.04上就需要根据不同的平台做不同的处理关于这个库的安装在另外一篇博客里面有介绍。
在dockerfile中我们可以通过下面的方式来区分当前编译的镜像平台是什么。
这里使用ARG引入了变量TARGETARCH这是docker的builder会自动传入的一个变量指代的是当前构建的镜像的版本。通过这个变量我们就可以写判断语句根据不同的平台做不同的操作了。
ARG TARGETARCH
COPY install/libjasper /tmp/install/libjasper
RUN if [ $TARGETARCH amd64 ]; then \echo Installing libjasper for amd64; \chmod 777 /tmp/install/libjasper/install_libjasper_amd64.sh; \/tmp/install/libjasper/install_libjasper_amd64.sh; \elif [ $TARGETARCH arm64 ]; then \echo Installing libjasper for arm64; \chmod 777 /tmp/install/libjasper/install_libjasper_arm64.sh; \/tmp/install/libjasper/install_libjasper_arm64.sh; \else \echo Unsupported architecture for install libjasper: $TARGETARCH; \exit 1; \fi问题就解决啦 本文首发于❄慕雪的寒舍