mirror of
https://github.com/nushell/nushell.git
synced 2024-11-21 16:03:19 +01:00
Update the dockerfile for alpine image (#14191)
<!-- 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 <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> Update the dockerfile for alpine image, related https://github.com/nushell/nushell/issues/14171 : 1. Add armv7 arch support 2. Add more opencontainers labels, see: https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> - Nushell docker images will be provided for each official release - There will be a `nushell:nightly` tag for the latest nightly release # After Submitting 1. The workflow that build the images will be provided in [nushell/nightly](https://github.com/nushell/nightly) repo later 2. Alpine image will be provided as the default, we may also add Debian images later
This commit is contained in:
parent
2c31b3db07
commit
8c2e12ad79
@ -1,18 +1,30 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
|
||||
# Git: git version 2.30.2
|
||||
# /etc/os-release: Alpine Linux v3.16
|
||||
# /etc/os-release: Alpine Linux v3.20
|
||||
# Kernel: Linux ca3abedc4fb1 5.17.15-76051715-generic #202206141358~1655919116~22.04~1db9e34 SMP PREEMPT Wed Jun 22 19 x86_64 Linux
|
||||
# Build cmd: docker build --no-cache . -t nushell-latest
|
||||
# Other tags: nushell/alpine-nu:latest, nushell
|
||||
# Build cmd: docker build --no-cache . -t nushell:latest
|
||||
# Other tags: nushell:latest-alpine, nushell
|
||||
FROM alpine
|
||||
|
||||
LABEL maintainer=nushell
|
||||
|
||||
ARG TARGETARCH
|
||||
ARG ARCH=${TARGETARCH/arm64/aarch64}
|
||||
ARG ARCH=${ARCH/arm/armv7}
|
||||
ARG ARCH=${ARCH/amd64/x86_64}
|
||||
|
||||
ARG BUILD_REF
|
||||
ARG BUILD_DATE
|
||||
LABEL maintainer="The Nushell Project Developers" \
|
||||
org.opencontainers.image.licenses="MIT" \
|
||||
org.opencontainers.image.title="Nushell" \
|
||||
org.opencontainers.image.created=$BUILD_DATE \
|
||||
org.opencontainers.image.revision=$BUILD_REF \
|
||||
org.opencontainers.image.authors="The Nushell Project Developers" \
|
||||
org.opencontainers.image.vendor="Nushell Project" \
|
||||
org.opencontainers.image.description="A new type of shell" \
|
||||
org.opencontainers.image.source="https://github.com/nushell/nushell" \
|
||||
org.opencontainers.image.documentation="https://www.nushell.sh/book/"
|
||||
|
||||
RUN echo '/usr/bin/nu' >> /etc/shells \
|
||||
&& adduser -D -s /usr/bin/nu nushell \
|
||||
&& mkdir -p /home/nushell/.config/nushell/ \
|
||||
@ -22,9 +34,10 @@ RUN echo '/usr/bin/nu' >> /etc/shells \
|
||||
| cut -d '"' -f 4 \
|
||||
| grep ${ARCH}-unknown-linux-musl \
|
||||
| xargs -I{} wget {} \
|
||||
&& tar -xzf nu* \
|
||||
&& cd nu*-musl \
|
||||
&& mv nu* /usr/bin \
|
||||
&& mkdir nu-latest && tar xvf nu-*.tar.gz --directory=nu-latest \
|
||||
&& cp -aR nu-latest/**/* /usr/bin/ \
|
||||
# Setup default config file for nushell
|
||||
&& cd /home/nushell/.config/nushell \
|
||||
&& chmod +x /usr/bin/nu \
|
||||
&& chown -R nushell:nushell /home/nushell/.config/nushell \
|
||||
# Reset Nushell config to default
|
||||
|
Loading…
Reference in New Issue
Block a user