mirror of
https://github.com/Neur0toxine/docker-golang-alpine.git
synced 2024-11-21 20:46:05 +03:00
initial commit
This commit is contained in:
commit
4213cf2e72
15
.editorconfig
Normal file
15
.editorconfig
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# EditorConfig is awesome: https://EditorConfig.org
|
||||||
|
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Unix-style newlines with a newline ending every file
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
indent_size = 2
|
||||||
|
indent_style = space
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
6
.github/dependabot.yml
vendored
Normal file
6
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
110
.github/workflows/buildx.yml
vendored
Normal file
110
.github/workflows/buildx.yml
vendored
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
name: buildx
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "37 06 * * *"
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
buildx:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
docker-file:
|
||||||
|
- path: 1.16
|
||||||
|
tags: "1.16"
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/arm/v7,linux/arm/v6
|
||||||
|
- path: 1.16-3.13
|
||||||
|
tags: "1.16-3.13"
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/arm/v7,linux/arm/v6
|
||||||
|
- path: 1.17
|
||||||
|
tags: "1.17"
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/arm/v7,linux/arm/v6
|
||||||
|
- path: 1.17-3.13
|
||||||
|
tags: "1.17-3.13"
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/arm/v7,linux/arm/v6
|
||||||
|
- path: 1.18
|
||||||
|
tags: "1.18"
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/arm/v7,linux/arm/v6
|
||||||
|
- path: 1.18-3.13
|
||||||
|
tags: "1.18-3.13"
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/arm/v7,linux/arm/v6
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
id: prepare
|
||||||
|
run: |
|
||||||
|
DOCKER_IMAGE=neur0toxine/golang-alpine-dumb-init
|
||||||
|
|
||||||
|
TEMP="${{ matrix.docker-file.tags }}"
|
||||||
|
TAGZ=($TEMP)
|
||||||
|
VERSION=${TAGZ[0]}
|
||||||
|
|
||||||
|
for i in "${!TAGZ[@]}"; do
|
||||||
|
if [ "$i" -eq "0" ];
|
||||||
|
then
|
||||||
|
TAGS="${DOCKER_IMAGE}:${TAGZ[$i]}"
|
||||||
|
else
|
||||||
|
TAGS="${TAGS},${DOCKER_IMAGE}:${TAGZ[$i]}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ::set-output name=docker_image::${DOCKER_IMAGE}
|
||||||
|
echo ::set-output name=version::${VERSION}
|
||||||
|
echo ::set-output name=tags::${TAGS}
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v2.0.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v2.0.0
|
||||||
|
with:
|
||||||
|
install: true
|
||||||
|
|
||||||
|
- name: Available platforms
|
||||||
|
run: echo ${{ steps.buildx.outputs.platforms }}
|
||||||
|
|
||||||
|
- name: Docker Buildx (build)
|
||||||
|
uses: docker/build-push-action@v3.0.0
|
||||||
|
if: success() && !contains(github.ref, 'master')
|
||||||
|
with:
|
||||||
|
push: false
|
||||||
|
context: ./${{ matrix.docker-file.path }}
|
||||||
|
file: ./${{ matrix.docker-file.path }}/Dockerfile
|
||||||
|
build-args: REFRESHED_AT=$(date +%Y-%m-%d)
|
||||||
|
platforms: ${{ matrix.docker-file.platforms }}
|
||||||
|
tags: ${{ steps.prepare.outputs.tags }}
|
||||||
|
|
||||||
|
- name: Docker Login
|
||||||
|
if: success() && contains(github.ref, 'master')
|
||||||
|
uses: docker/login-action@v2.0.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Docker Buildx (push)
|
||||||
|
uses: docker/build-push-action@v3.0.0
|
||||||
|
if: success() && contains(github.ref, 'master')
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
context: ./${{ matrix.docker-file.path }}
|
||||||
|
file: ./${{ matrix.docker-file.path }}/Dockerfile
|
||||||
|
build-args: REFRESHED_AT=$(date +%Y-%m-%d)
|
||||||
|
platforms: ${{ matrix.docker-file.platforms }}
|
||||||
|
tags: ${{ steps.prepare.outputs.tags }}
|
||||||
|
|
||||||
|
- name: Inspect Image
|
||||||
|
if: always() && github.event_name != 'pull_request' && contains(github.ref, 'master')
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools inspect ${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}
|
||||||
|
|
||||||
|
- name: Clear
|
||||||
|
if: always() && github.event_name != 'pull_request'
|
||||||
|
run: |
|
||||||
|
rm -f ${HOME}/.docker/config.json
|
17
.github/workflows/dockerimage.yml
vendored
Normal file
17
.github/workflows/dockerimage.yml
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
name: Test Docker image
|
||||||
|
|
||||||
|
on: [push, pull_request, workflow_dispatch]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Build the Docker image
|
||||||
|
run: |
|
||||||
|
docker run -i $(docker build -q 1.16) /bin/sh -c "go version && bash --version && make --version && git --version && ssh -V && gcc --version && jq --version && curl --version && air -v && dumb-init --version"
|
||||||
|
docker run -i $(docker build -q 1.16-3.13) /bin/sh -c "go version && bash --version && make --version && git --version && ssh -V && gcc --version && jq --version && curl --version && air -v && dumb-init --version"
|
||||||
|
docker run -i $(docker build -q 1.17) /bin/sh -c "go version && bash --version && make --version && git --version && ssh -V && gcc --version && jq --version && curl --version && air -v && dumb-init --version"
|
||||||
|
docker run -i $(docker build -q 1.17-3.13) /bin/sh -c "go version && bash --version && make --version && git --version && ssh -V && gcc --version && jq --version && curl --version && air -v && dumb-init --version"
|
||||||
|
docker run -i $(docker build -q 1.18) /bin/sh -c "go version && bash --version && make --version && git --version && ssh -V && gcc --version && jq --version && curl --version && air -v && dumb-init --version"
|
||||||
|
docker run -i $(docker build -q 1.18-3.13) /bin/sh -c "go version && bash --version && make --version && git --version && ssh -V && gcc --version && jq --version && curl --version && air -v && dumb-init --version"
|
11
.github/workflows/hadolint.yml
vendored
Normal file
11
.github/workflows/hadolint.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
name: Lint Dockerfiles
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- run: brew install hadolint
|
||||||
|
- run: hadolint {1.16,1.16-3.13,1.17,1.17-3.13,1.18,1.18-3.13}/Dockerfile
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.DS_Store
|
3
.hadolint.yaml
Normal file
3
.hadolint.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
ignored:
|
||||||
|
- DL3018
|
||||||
|
- DL3017
|
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"yaml.schemas": {
|
||||||
|
"https://json.schemastore.org/github-workflow.json": "./.github/workflows/hadolint.yml"
|
||||||
|
}
|
||||||
|
}
|
11
1.16-3.13/Dockerfile
Normal file
11
1.16-3.13/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM golang:1.16-alpine3.13
|
||||||
|
RUN apk add --no-cache bash make git gcc libc-dev jq curl dumb-init
|
||||||
|
RUN cd /tmp && \
|
||||||
|
git clone https://github.com/go-delve/delve && \
|
||||||
|
cd delve && \
|
||||||
|
go install github.com/go-delve/delve/cmd/dlv && \
|
||||||
|
cd .. && \
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin && \
|
||||||
|
rm -rf delve && \
|
||||||
|
chmod -R 777 /go
|
||||||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
11
1.16/Dockerfile
Normal file
11
1.16/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM golang:1.16-alpine
|
||||||
|
RUN apk add --no-cache bash make git gcc libc-dev jq curl dumb-init
|
||||||
|
RUN cd /tmp && \
|
||||||
|
git clone https://github.com/go-delve/delve && \
|
||||||
|
cd delve && \
|
||||||
|
go install github.com/go-delve/delve/cmd/dlv && \
|
||||||
|
cd .. && \
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin && \
|
||||||
|
rm -rf delve && \
|
||||||
|
chmod -R 777 /go
|
||||||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
11
1.17-3.13/Dockerfile
Normal file
11
1.17-3.13/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM golang:1.17-alpine3.13
|
||||||
|
RUN apk add --no-cache bash make git gcc libc-dev jq curl dumb-init
|
||||||
|
RUN cd /tmp && \
|
||||||
|
git clone https://github.com/go-delve/delve && \
|
||||||
|
cd delve && \
|
||||||
|
go install github.com/go-delve/delve/cmd/dlv && \
|
||||||
|
cd .. && \
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin && \
|
||||||
|
rm -rf delve && \
|
||||||
|
chmod -R 777 /go
|
||||||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
11
1.17/Dockerfile
Normal file
11
1.17/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM golang:1.17-alpine
|
||||||
|
RUN apk add --no-cache bash make git gcc libc-dev jq curl dumb-init
|
||||||
|
RUN cd /tmp && \
|
||||||
|
git clone https://github.com/go-delve/delve && \
|
||||||
|
cd delve && \
|
||||||
|
go install github.com/go-delve/delve/cmd/dlv && \
|
||||||
|
cd .. && \
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin && \
|
||||||
|
rm -rf delve && \
|
||||||
|
chmod -R 777 /go
|
||||||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
117
1.18-3.13/Dockerfile
Normal file
117
1.18-3.13/Dockerfile
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
RUN apk add --no-cache ca-certificates
|
||||||
|
|
||||||
|
# set up nsswitch.conf for Go's "netgo" implementation
|
||||||
|
# - https://github.com/golang/go/blob/go1.9.1/src/net/conf.go#L194-L275
|
||||||
|
# - docker run --rm debian grep '^hosts:' /etc/nsswitch.conf
|
||||||
|
RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf
|
||||||
|
|
||||||
|
ENV PATH /usr/local/go/bin:$PATH
|
||||||
|
|
||||||
|
ENV GOLANG_VERSION 1.18.4
|
||||||
|
|
||||||
|
RUN set -eux; \
|
||||||
|
apk add --no-cache --virtual .fetch-deps gnupg; \
|
||||||
|
arch="$(apk --print-arch)"; \
|
||||||
|
url=; \
|
||||||
|
case "$arch" in \
|
||||||
|
'x86_64') \
|
||||||
|
export GOAMD64='v1' GOARCH='amd64' GOOS='linux'; \
|
||||||
|
;; \
|
||||||
|
'armhf') \
|
||||||
|
export GOARCH='arm' GOARM='6' GOOS='linux'; \
|
||||||
|
;; \
|
||||||
|
'armv7') \
|
||||||
|
export GOARCH='arm' GOARM='7' GOOS='linux'; \
|
||||||
|
;; \
|
||||||
|
'aarch64') \
|
||||||
|
export GOARCH='arm64' GOOS='linux'; \
|
||||||
|
;; \
|
||||||
|
'x86') \
|
||||||
|
export GO386='softfloat' GOARCH='386' GOOS='linux'; \
|
||||||
|
;; \
|
||||||
|
'ppc64le') \
|
||||||
|
export GOARCH='ppc64le' GOOS='linux'; \
|
||||||
|
;; \
|
||||||
|
's390x') \
|
||||||
|
export GOARCH='s390x' GOOS='linux'; \
|
||||||
|
;; \
|
||||||
|
*) echo >&2 "error: unsupported architecture '$arch' (likely packaging update needed)"; exit 1 ;; \
|
||||||
|
esac; \
|
||||||
|
build=; \
|
||||||
|
if [ -z "$url" ]; then \
|
||||||
|
# https://github.com/golang/go/issues/38536#issuecomment-616897960
|
||||||
|
build=1; \
|
||||||
|
url='https://dl.google.com/go/go1.18.4.src.tar.gz'; \
|
||||||
|
sha256='4525aa6b0e3cecb57845f4060a7075aafc9ab752bb7b6b4cf8a212d43078e1e4'; \
|
||||||
|
# the precompiled binaries published by Go upstream are not compatible with Alpine, so we always build from source here 😅
|
||||||
|
fi; \
|
||||||
|
\
|
||||||
|
wget -O go.tgz.asc "$url.asc"; \
|
||||||
|
wget -O go.tgz "$url"; \
|
||||||
|
echo "$sha256 *go.tgz" | sha256sum -c -; \
|
||||||
|
\
|
||||||
|
# https://github.com/golang/go/issues/14739#issuecomment-324767697
|
||||||
|
GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; \
|
||||||
|
# https://www.google.com/linuxrepositories/
|
||||||
|
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 'EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796'; \
|
||||||
|
# let's also fetch the specific subkey of that key explicitly that we expect "go.tgz.asc" to be signed by, just to make sure we definitely have it
|
||||||
|
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys '2F52 8D36 D67B 69ED F998 D857 78BD 6547 3CB3 BD13'; \
|
||||||
|
gpg --batch --verify go.tgz.asc go.tgz; \
|
||||||
|
gpgconf --kill all; \
|
||||||
|
rm -rf "$GNUPGHOME" go.tgz.asc; \
|
||||||
|
\
|
||||||
|
tar -C /usr/local -xzf go.tgz; \
|
||||||
|
rm go.tgz; \
|
||||||
|
\
|
||||||
|
if [ -n "$build" ]; then \
|
||||||
|
apk add --no-cache --virtual .build-deps \
|
||||||
|
bash \
|
||||||
|
gcc \
|
||||||
|
go \
|
||||||
|
musl-dev \
|
||||||
|
; \
|
||||||
|
\
|
||||||
|
export GOCACHE='/tmp/gocache'; \
|
||||||
|
\
|
||||||
|
( \
|
||||||
|
cd /usr/local/go/src; \
|
||||||
|
# set GOROOT_BOOTSTRAP + GOHOST* such that we can build Go successfully
|
||||||
|
export GOROOT_BOOTSTRAP="$(go env GOROOT)" GOHOSTOS="$GOOS" GOHOSTARCH="$GOARCH"; \
|
||||||
|
./make.bash; \
|
||||||
|
); \
|
||||||
|
\
|
||||||
|
apk del --no-network .build-deps; \
|
||||||
|
\
|
||||||
|
# remove a few intermediate / bootstrapping files the official binary release tarballs do not contain
|
||||||
|
rm -rf \
|
||||||
|
/usr/local/go/pkg/*/cmd \
|
||||||
|
/usr/local/go/pkg/bootstrap \
|
||||||
|
/usr/local/go/pkg/obj \
|
||||||
|
/usr/local/go/pkg/tool/*/api \
|
||||||
|
/usr/local/go/pkg/tool/*/go_bootstrap \
|
||||||
|
/usr/local/go/src/cmd/dist/dist \
|
||||||
|
"$GOCACHE" \
|
||||||
|
; \
|
||||||
|
fi; \
|
||||||
|
\
|
||||||
|
apk del --no-network .fetch-deps; \
|
||||||
|
\
|
||||||
|
go version
|
||||||
|
|
||||||
|
ENV GOPATH /go
|
||||||
|
ENV PATH $GOPATH/bin:$PATH
|
||||||
|
RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
|
||||||
|
WORKDIR $GOPATH
|
||||||
|
|
||||||
|
RUN apk add --no-cache bash make git gcc libc-dev jq curl dumb-init
|
||||||
|
RUN cd /tmp && \
|
||||||
|
git clone https://github.com/go-delve/delve && \
|
||||||
|
cd delve && \
|
||||||
|
go install github.com/go-delve/delve/cmd/dlv && \
|
||||||
|
cd .. && \
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin && \
|
||||||
|
rm -rf delve && \
|
||||||
|
chmod -R 777 /go
|
||||||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
11
1.18/Dockerfile
Normal file
11
1.18/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM golang:1.18-alpine
|
||||||
|
RUN apk add --no-cache bash make git gcc libc-dev jq curl dumb-init
|
||||||
|
RUN cd /tmp && \
|
||||||
|
git clone https://github.com/go-delve/delve && \
|
||||||
|
cd delve && \
|
||||||
|
go install github.com/go-delve/delve/cmd/dlv && \
|
||||||
|
cd .. && \
|
||||||
|
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin && \
|
||||||
|
rm -rf delve && \
|
||||||
|
chmod -R 777 /go
|
||||||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 Pavel Kovalenko
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
36
README.md
Normal file
36
README.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Golang Alpine with additional packages & dumb-init
|
||||||
|
|
||||||
|
[![Docker Automated build](https://img.shields.io/docker/automated/Neur0toxine/node-alpine-git.svg)](https://hub.docker.com/r/neur0toxine/golang-alpine-dumb-init/)
|
||||||
|
[![buildx Status](https://github.com/Neur0toxine/docker-golang-alpine-dumb-init/workflows/buildx/badge.svg)](https://github.com/Neur0toxine/docker-golang-alpine-dumb-init/actions?query=workflow%3Abuildx)
|
||||||
|
[![Lint Dockerfiles](https://github.com/Neur0toxine/docker-golang-alpine-dumb-init/workflows/Lint%20Dockerfiles/badge.svg)](https://github.com/Neur0toxine/docker-golang-alpine-dumb-init/actions?query=workflow%3A%22Lint+Dockerfiles%22)
|
||||||
|
|
||||||
|
A minimal Dockerfile based on Go 1.16, 1.17, 1.18 and alpine with dumb-init and some other useful packages.
|
||||||
|
|
||||||
|
## What's included
|
||||||
|
|
||||||
|
- Go 1.16
|
||||||
|
- bash
|
||||||
|
- make
|
||||||
|
- git
|
||||||
|
- ssh
|
||||||
|
- gcc
|
||||||
|
- libc-dev
|
||||||
|
- jq
|
||||||
|
- curl
|
||||||
|
- air
|
||||||
|
- dumb-init
|
||||||
|
|
||||||
|
### Available platforms
|
||||||
|
|
||||||
|
These Dockerfiles leverage the new `buildx` functionality and offer the following platforms:
|
||||||
|
|
||||||
|
- linux/amd64
|
||||||
|
- linux/arm64
|
||||||
|
- linux/arm/v7
|
||||||
|
- linux/arm/v6
|
||||||
|
- linux/ppc64le
|
||||||
|
- linux/s390x
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Based on solution built by (c) Tim Brust and contributors. Released under the MIT license.
|
Loading…
Reference in New Issue
Block a user