summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Ma <hustcer@outlook.com>2024-10-01 19:28:14 +0800
committerGitHub <noreply@github.com>2024-10-01 06:28:14 -0500
commit02804ab5378aa42a289e1db83e6f02037c9efa10 (patch)
treea2253e24be57a242d18968273c1d7ccef54279d4
parentb2d0d9cf13f95fb51684cb1335c2754219261a12 (diff)
Simplify the Dockerfile (#13974)HEADmain
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # 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/
-rw-r--r--docker/Dockerfile20
1 files changed, 7 insertions, 13 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index bf45834b1..aab1e854b 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 \