Bladeren bron

Merge pull request #6 from dockage/add-alpine-3.13

Bump Alpine version to 3.13
Mohammad Abdolirad 2 jaren geleden
bovenliggende
commit
21ceedd572
5 gewijzigde bestanden met toevoegingen van 105 en 40 verwijderingen
  1. 65 0
      .github/workflows/ci.yml
  2. 7 10
      3.13/Dockerfile
  3. 0 13
      3.5/Dockerfile
  4. 4 17
      README.md
  5. 29 0
      docker-bake.hcl

+ 65 - 0
.github/workflows/ci.yml

@@ -0,0 +1,65 @@
+name: CI
+
+on:
+  push:
+    branches: [ "master" ]
+  pull_request:
+    branches: [ "*" ]
+
+jobs:
+  docker:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        alpine: [ "3.13" ]
+        variant: [ "", "openrc" ]
+        latest: [ false ]
+#        include:
+#          - alpine: 3.16
+#            variant: ""
+#            latest: true
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+
+      - name: Docker metadata
+        id: meta
+        uses: docker/metadata-action@v4
+        with:
+          labels: |
+            maintainer=The Dockage Developers
+          images: |
+            dockage/alpine
+          tags: |
+            type=raw,value=${{ matrix.alpine }},enable=${{ matrix.variant == '' }}
+            type=raw,value=${{ matrix.alpine }}-${{ matrix.variant }},enable=${{ matrix.variant != '' }}
+            type=raw,value=latest,enable=${{ matrix.latest }}
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v2
+
+      - name: Login to DockerHub
+        if: ${{ github.event_name != 'pull_request' }}
+        uses: docker/login-action@v2
+        with:
+          username: ${{ secrets.DOCKERHUB_USERNAME }}
+          password: ${{ secrets.DOCKERHUB_PASSWORD }}
+
+      - name: Build images
+        uses: docker/bake-action@v2
+        with:
+          push: ${{ github.ref == 'refs/heads/master' }}
+          targets: ${{ matrix.variant }}
+          files: |
+            ./docker-bake.hcl
+            ${{ steps.meta.outputs.bake-file }}
+        env:
+          CONTEXT: ${{ matrix.alpine }}
+
+      - name: Docker Hub Description
+        uses: peter-evans/dockerhub-description@v3
+        if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+        with:
+          username: ${{ secrets.DOCKERHUB_USERNAME }}
+          password: ${{ secrets.DOCKERHUB_PASSWORD }}
+          short-description: ${{ github.event.repository.description }}

+ 7 - 10
3.5/openrc/Dockerfile → 3.13/Dockerfile

@@ -1,16 +1,13 @@
-FROM alpine:3.5
-
-LABEL maintainer="m.abdolirad@gmail.com" \
-    org.label-schema.name="alpine" \
-    org.label-schema.vendor="Dockage" \
-    org.label-schema.description="Docker image uses openRC as a process supervision on Alpine Linux" \
-    org.label-schema.version="3.5-openrc" \
-    org.label-schema.license="MIT"
+FROM alpine:3.13.10 AS base
 
 RUN echo '@edge http://dl-cdn.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \
     && echo '@edgecommunity http://dl-cdn.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \
     && echo '@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories \
-    && apk add --no-cache openrc su-exec ca-certificates \
+    && apk add --no-cache su-exec ca-certificates
+
+FROM base AS openrc
+
+RUN apk add --no-cache openrc \
     # Disable getty's
     && sed -i 's/^\(tty\d\:\:\)/#\1/g' /etc/inittab \
     && sed -i \
@@ -35,4 +32,4 @@ RUN echo '@edge http://dl-cdn.alpinelinux.org/alpine/edge/main' >> /etc/apk/repo
     && sed -i 's/\tcgroup_add_service/\t#cgroup_add_service/g' /lib/rc/sh/openrc-run.sh \
     && sed -i 's/VSERVER/DOCKER/Ig' /lib/rc/sh/init.sh
 
-CMD ["/sbin/init"]
+CMD ["/sbin/init"]

+ 0 - 13
3.5/Dockerfile

@@ -1,13 +0,0 @@
-FROM alpine:3.5
-
-LABEL maintainer="m.abdolirad@gmail.com" \
-    org.label-schema.name="alpine" \
-    org.label-schema.vendor="Dockage" \
-    org.label-schema.description="Alpine image that forms the base for Dockage's docker images." \
-    org.label-schema.version="3.5" \
-    org.label-schema.license="MIT"
-
-RUN echo '@edge http://dl-cdn.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \
-    && echo '@edgecommunity http://dl-cdn.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \
-    && echo '@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories \
-    && apk add --no-cache su-exec ca-certificates

+ 4 - 17
README.md

@@ -2,22 +2,10 @@
 
 [Alpine Linux](https://alpinelinux.org) is a Linux distribution built around [musl libc](https://www.musl-libc.org) and [BusyBox](https://www.busybox.net).
 
-|Versions|Size|Layer|
-|:-----:|:---:|:---:|
-|`3.5` ([3.5/Dockerfile](https://github.com/dockage/alpine/blob/master/3.5/Dockerfile))|[![MicroBadger Size (3.5)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.5.svg)](https://microbadger.com/images/dockage/alpine:3.5)|[![MicroBadger Layers (3.5)](https://img.shields.io/microbadger/layers/dockage/alpine/3.5.svg)](https://microbadger.com/images/dockage/alpine:3.5)|
-|`3.5-openrc` ([3.5/openrc/Dockerfile](https://github.com/dockage/alpine/blob/master/3.5/openrc/Dockerfile))|[![MicroBadger Size (3.5-openrc)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.5-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.5-openrc)|[![MicroBadger Layers (3.5-openrc)](https://img.shields.io/microbadger/layers/dockage/alpine/3.5-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.5-openrc)|
-|`3.6` ([3.6/Dockerfile](https://github.com/dockage/alpine/blob/master/3.6/Dockerfile))|[![MicroBadger Size (3.6)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.6.svg)](https://microbadger.com/images/dockage/alpine:3.6)|[![MicroBadger Layers (3.6)](https://img.shields.io/microbadger/layers/dockage/alpine/3.6.svg)](https://microbadger.com/images/dockage/alpine:3.6)|
-|`3.6-openrc` ([3.6/openrc/Dockerfile](https://github.com/dockage/alpine/blob/master/3.6/openrc/Dockerfile))|[![MicroBadger Size (3.6-openrc)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.6-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.6-openrc)|[![MicroBadger Layers (3.6-openrc)](https://img.shields.io/microbadger/layers/dockage/alpine/3.6-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.6-openrc)|
-|`3.7` ([3.7/Dockerfile](https://github.com/dockage/alpine/blob/master/3.7/Dockerfile))|[![MicroBadger Size (3.7)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.7.svg)](https://microbadger.com/images/dockage/alpine:3.7)|[![MicroBadger Layers (3.7)](https://img.shields.io/microbadger/layers/dockage/alpine/3.7.svg)](https://microbadger.com/images/dockage/alpine:3.7)|
-|`3.7-openrc` ([3.7/openrc/Dockerfile](https://github.com/dockage/alpine/blob/master/3.7/openrc/Dockerfile))|[![MicroBadger Size (3.7-openrc)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.7-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.7-openrc)|[![MicroBadger Layers (3.7-openrc)](https://img.shields.io/microbadger/layers/dockage/alpine/3.7-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.7-openrc)|
-|`3.8` ([3.8/Dockerfile](https://github.com/dockage/alpine/blob/master/3.8/Dockerfile))|[![MicroBadger Size (3.8)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.8.svg)](https://microbadger.com/images/dockage/alpine:3.8)|[![MicroBadger Layers (3.8)](https://img.shields.io/microbadger/layers/dockage/alpine/3.8.svg)](https://microbadger.com/images/dockage/alpine:3.8)|
-|`3.8-openrc` ([3.8/openrc/Dockerfile](https://github.com/dockage/alpine/blob/master/3.8/openrc/Dockerfile))|[![MicroBadger Size (3.8-openrc)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.8-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.8-openrc)|[![MicroBadger Layers (3.8-openrc)](https://img.shields.io/microbadger/layers/dockage/alpine/3.8-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.8-openrc)|
-|`3.9` ([3.9/Dockerfile](https://github.com/dockage/alpine/blob/master/3.9/Dockerfile))|[![MicroBadger Size (3.9)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.9.svg)](https://microbadger.com/images/dockage/alpine:3.9)|[![MicroBadger Layers (3.9)](https://img.shields.io/microbadger/layers/dockage/alpine/3.9.svg)](https://microbadger.com/images/dockage/alpine:3.9)|
-|`3.9-openrc` ([3.9/openrc/Dockerfile](https://github.com/dockage/alpine/blob/master/3.9/openrc/Dockerfile))|[![MicroBadger Size (3.9-openrc)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.9-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.9-openrc)|[![MicroBadger Layers (3.9-openrc)](https://img.shields.io/microbadger/layers/dockage/alpine/3.9-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.9-openrc)|
-|`3.10` ([3.10/Dockerfile](https://github.com/dockage/alpine/blob/master/3.10/Dockerfile))|[![MicroBadger Size (3.10)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.10.svg)](https://microbadger.com/images/dockage/alpine:3.10)|[![MicroBadger Layers (3.10)](https://img.shields.io/microbadger/layers/dockage/alpine/3.10.svg)](https://microbadger.com/images/dockage/alpine:3.10)|
-|`3.10-openrc` ([3.10/openrc/Dockerfile](https://github.com/dockage/alpine/blob/master/3.10/openrc/Dockerfile))|[![MicroBadger Size (3.10-openrc)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.10-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.10-openrc)|[![MicroBadger Layers (3.10-openrc)](https://img.shields.io/microbadger/layers/dockage/alpine/3.10-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.10-openrc)|
-|`3.11`, `latest` ([3.11/Dockerfile](https://github.com/dockage/alpine/blob/master/3.11/Dockerfile))|[![MicroBadger Size (3.11)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.11.svg)](https://microbadger.com/images/dockage/alpine:3.11)|[![MicroBadger Layers (3.9)](https://img.shields.io/microbadger/layers/dockage/alpine/3.11.svg)](https://microbadger.com/images/dockage/alpine:3.11)|
-|`3.11-openrc` ([3.11/openrc/Dockerfile](https://github.com/dockage/alpine/blob/master/3.11/openrc/Dockerfile))|[![MicroBadger Size (3.11-openrc)](https://img.shields.io/microbadger/image-size/dockage/alpine/3.11-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.11-openrc)|[![MicroBadger Layers (3.11-openrc)](https://img.shields.io/microbadger/layers/dockage/alpine/3.11-openrc.svg)](https://microbadger.com/images/dockage/alpine:3.11-openrc)|
+|                                                Versions                                                 |                                                                          Size                                                                           |                                                                                 Layer                                                                                 |
+|:-------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
+|   `3.13`, `latest` ([3.13/Dockerfile](https://github.com/dockage/alpine/blob/master/3.13/Dockerfile))   |           [![Docker Size (3.13)](https://badgen.net/docker/size/dockage/alpine/3.13.svg)](https://hub.docker.com/r/dockage/alpine)           |      [![Docker Layers (3.13)](https://badgen.net/docker/layers/dockage/alpine/3.13/amd64?icon=docker&label=layers.svg)](https://hub.docker.com/r/dockage/alpine)      |
+| `3.13-openrc` ([3.13/Dockerfile](https://github.com/dockage/alpine/blob/master/3.13/Dockerfile)) | [![MicroBadger Size (3.13-openrc)](https://badgen.net/docker/size/dockage/alpine/3.13-openrc.svg)](https://hub.docker.com/r/dockage/alpine) | [![Docker Layers (3.13-openrc)](https://badgen.net/docker/layers/dockage/alpine/3.13-openrc/amd64?icon=docker&label=layers.svg)](https://hub.docker.com/r/dockage/alpine) |
 
 Dockerfile to build a alpine baseimage with a couple of extra packages and enable some repositories.
 
@@ -31,4 +19,3 @@ The image installs the following extra packages:
 
 - [`ca-certificates`](https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/) Common CA certificates PEM files.
 - [`su-exec`](https://github.com/ncopa/su-exec) Switch user and group id, setgroups and exec.
-- [`wait4ports`](https://github.com/erikogan/wait4ports) A small utility to wait for network peer availability.

+ 29 - 0
docker-bake.hcl

@@ -0,0 +1,29 @@
+variable "CONTEXT" {
+  default = "."
+}
+
+// Special target: https://github.com/docker/metadata-action#bake-definition
+target "docker-metadata-action" {}
+
+group "default" {
+  targets = ["base"]
+}
+
+target "base" {
+  context    = "${CONTEXT}/"
+  target     = "base"
+  platforms  = [
+    "linux/386",
+    "linux/amd64",
+    "linux/arm/v6",
+    "linux/arm/v7",
+    "linux/arm64/v8",
+    "linux/ppc64le",
+    "linux/s390x"
+  ]
+}
+
+target "openrc" {
+  inherits = ["base"]
+  target   = "openrc"
+}