docker: add support for arm64, ppc64le, s390x, i386, armv7, armv6

docker/build: enable experimental cli in hooks

docker/build: Add DOCKER_BUILDKIT=1 to build config

See https://docs.docker.com/docker-hub/builds/#build-images-with-buildkit
This commit is contained in:
Shyam Sunder 2020-03-21 11:51:18 -04:00
parent c004eb36c2
commit c185ba4deb
6 changed files with 21 additions and 5 deletions

View file

@ -53,7 +53,7 @@ repos:
hooks:
- id: docker-build-client
name: Docker - build client
entry: bash -c 'docker build client/'
entry: bash -c '<client/Dockerfile sed "s/--platform.*BUILDPLATFORM//g" | docker build -f - client/'
language: system
types: [file]
files: client/

View file

@ -1,4 +1,4 @@
FROM node:9 as builder
FROM --platform=$BUILDPLATFORM node:9 as builder
WORKDIR /opt/app
COPY package.json package-lock.json ./
@ -11,7 +11,7 @@ ARG CLIENT_BUILD_ARGS=""
RUN BASE_URL="__BASEURL__" node build.js --gzip ${CLIENT_BUILD_ARGS}
FROM scratch as approot
FROM --platform=$BUILDPLATFORM scratch as approot
COPY docker-start.sh /

View file

@ -7,8 +7,11 @@ else
BUILD_INFO="v${CLOSEST_VER}-edge-$(git rev-parse --short ${SOURCE_COMMIT})"
fi
export DOCKER_CLI_EXPERIMENTAL=enabled
export DOCKER_BUILDKIT=1
echo "Using BUILD_INFO=${BUILD_INFO}"
docker build \
docker buildx build \
--platform linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/386,linux/arm/v7,linux/arm/v6 \
--build-arg BUILD_INFO=${BUILD_INFO} \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg SOURCE_COMMIT \

5
client/hooks/pre_build Executable file
View file

@ -0,0 +1,5 @@
#!/bin/sh
export DOCKER_CLI_EXPERIMENTAL=enabled
export DOCKER_BUILDKIT=1
docker buildx create --use

View file

@ -1,6 +1,9 @@
#!/bin/sh
docker build \
export DOCKER_CLI_EXPERIMENTAL=enabled
export DOCKER_BUILDKIT=1
docker buildx build \
--platform linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/386,linux/arm/v7,linux/arm/v6 \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg SOURCE_COMMIT \
--build-arg DOCKER_REPO \

5
server/hooks/pre_build Executable file
View file

@ -0,0 +1,5 @@
#!/bin/sh
export DOCKER_CLI_EXPERIMENTAL=enabled
export DOCKER_BUILDKIT=1
docker buildx create --use