Dockerfile中获取架构,并根据架构去执行不同的操作构建镜像

用buildah通过单台机器构建多架构镜像,arm64和amd64两种架构使用同一份Dockerfile,但是现在需要在构建不同架构镜像的时候,进行不同的操作
可以在Dockerfile里面获取架构,然后执行不同的操作
eg:

  • openeuler 系统
点击查看代码
RUN arch="$(arch)" &&  \
    curl http://10.1.111.1/lhuan/${arch}/lars.so -o /usr/local/lib/lars.so

arch 命令的结果 为 x86_64和aarch64

  • Debian 系统
点击查看代码
RUN arch="$(dpkg --print-architecture)" && \
    arch="${arch##*-}" && \
    # 上面的arch就是amd64或者arm64
    curl http://10.1.111.1/lhuan/${arch}/lars.so -o /usr/local/lib/lars.so"
posted @ 2024-07-19 13:55  lars_huan  阅读(137)  评论(0)    收藏  举报