krallin / tini

A tiny but valid `init` for containers
MIT License
9.66k stars 505 forks source link

how to use tini-arm64 image v0.19.0 #177

Closed dannishushu closed 3 years ago

dannishushu commented 3 years ago

I have download the tini-arm64 v0.19.0, but I don't know how to push the image to my registry? I try the "docker load -i", but it doesn't work with "Error processing tar file(exit status 1): archive/tar: invalid tar header"

krallin commented 3 years ago

That download isn't a Docker image, it's a binary.

You'll want to follow the installation instructions here to build your own image with Tini in it: https://github.com/krallin/tini#using-tini

dannishushu commented 3 years ago

That download isn't a Docker image, it's a binary.

You'll want to follow the installation instructions here to build your own image with Tini in it: https://github.com/krallin/tini#using-tini

Thanks for your reply! Actually I still don't know how can I get the tini-arm64 Docker image. "ENV TINI_VERSION v0.19.0 ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini" I think this is x86 platform?

krallin commented 3 years ago

Well, yes — the docs can't quite magically guess what platform you need :)

Update the URL to get the image you need, e.g. tini-arm64 if that's the one you want:

ENV TINI_VERSION v0.19.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-arm64 /tini
yosifkit commented 3 years ago

You can also have your build auto-detect which arch to download based on the architecture it is running on.

From the Debian-based redmine image:

RUN set -eux; \
...
    dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
...
# grab tini for signal processing and zombie killing
# https://github.com/krallin/tini/releases
    export TINI_VERSION='0.19.0'; \
    wget -O /usr/local/bin/tini "https://github.com/krallin/tini/releases/download/v$TINI_VERSION/tini-$dpkgArch"; \
    wget -O /usr/local/bin/tini.asc "https://github.com/krallin/tini/releases/download/v$TINI_VERSION/tini-$dpkgArch.asc"; \
    export GNUPGHOME="$(mktemp -d)"; \
    gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys 6380DC428747F6C393FEACA59A84159D7001A4E5; \
    gpg --batch --verify /usr/local/bin/tini.asc /usr/local/bin/tini; \
    gpgconf --kill all; \
    rm -r "$GNUPGHOME" /usr/local/bin/tini.asc; \
    chmod +x /usr/local/bin/tini; \
    tini -h; \