From 02804ab5378aa42a289e1db83e6f02037c9efa10 Mon Sep 17 00:00:00 2001 From: Justin Ma Date: Tue, 1 Oct 2024 19:28:14 +0800 Subject: [PATCH] Simplify the Dockerfile (#13974) # Description Works for `docker build` and `docker buildx build` For more detail about the new Dockerfile syntax: https://www.docker.com/blog/new-dockerfile-capabilities-v1-7-0/ --- docker/Dockerfile | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index bf45834b16..aab1e854bc 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:latest + # Git: git version 2.30.2 # /etc/os-release: Alpine Linux v3.16 # Kernel: Linux ca3abedc4fb1 5.17.15-76051715-generic #202206141358~1655919116~22.04~1db9e34 SMP PREEMPT Wed Jun 22 19 x86_64 Linux @@ -8,25 +10,17 @@ FROM alpine LABEL maintainer=nushell ARG TARGETARCH +ARG ARCH=${TARGETARCH/arm64/aarch64} +ARG ARCH=${ARCH/amd64/x86_64} -RUN set -eux; \ - if [ "${TARGETARCH}" = "amd64" ] || [ "${TARGETARCH}" = "x86_64" ]; then \ - echo "Downloading x86_64 binary for ${TARGETARCH}..."; \ - arch_path="x86_64"; \ - elif [ "${TARGETARCH}" = "arm64" ] || [ "${TARGETARCH}" = "aarch64"]; then \ - echo "Downloading aarch64 binary for ${TARGETARCH}..."; \ - arch_path="aarch64"; \ - else \ - arch_path=""; \ - fi; \ - echo '/usr/bin/nu' >> /etc/shells \ +RUN echo '/usr/bin/nu' >> /etc/shells \ && adduser -D -s /usr/bin/nu nushell \ && mkdir -p /home/nushell/.config/nushell/ \ && cd /tmp \ && wget -qO - https://api.github.com/repos/nushell/nushell/releases/latest \ | grep browser_download_url \ - | grep "${arch_path}.*.musl.tar.gz" \ - | cut -f4 -d '"' \ + | cut -d '"' -f 4 \ + | grep ${ARCH}-unknown-linux-musl \ | xargs -I{} wget {} \ && tar -xzf nu* \ && cd nu*-musl \