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:
parent
c004eb36c2
commit
c185ba4deb
6 changed files with 21 additions and 5 deletions
|
@ -53,7 +53,7 @@ repos:
|
||||||
hooks:
|
hooks:
|
||||||
- id: docker-build-client
|
- id: docker-build-client
|
||||||
name: 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
|
language: system
|
||||||
types: [file]
|
types: [file]
|
||||||
files: client/
|
files: client/
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM node:9 as builder
|
FROM --platform=$BUILDPLATFORM node:9 as builder
|
||||||
WORKDIR /opt/app
|
WORKDIR /opt/app
|
||||||
|
|
||||||
COPY package.json package-lock.json ./
|
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}
|
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 /
|
COPY docker-start.sh /
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,11 @@ else
|
||||||
BUILD_INFO="v${CLOSEST_VER}-edge-$(git rev-parse --short ${SOURCE_COMMIT})"
|
BUILD_INFO="v${CLOSEST_VER}-edge-$(git rev-parse --short ${SOURCE_COMMIT})"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||||
|
export DOCKER_BUILDKIT=1
|
||||||
echo "Using BUILD_INFO=${BUILD_INFO}"
|
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_INFO=${BUILD_INFO} \
|
||||||
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
|
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
|
||||||
--build-arg SOURCE_COMMIT \
|
--build-arg SOURCE_COMMIT \
|
||||||
|
|
5
client/hooks/pre_build
Executable file
5
client/hooks/pre_build
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||||
|
export DOCKER_BUILDKIT=1
|
||||||
|
docker buildx create --use
|
|
@ -1,6 +1,9 @@
|
||||||
#!/bin/sh
|
#!/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 BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
|
||||||
--build-arg SOURCE_COMMIT \
|
--build-arg SOURCE_COMMIT \
|
||||||
--build-arg DOCKER_REPO \
|
--build-arg DOCKER_REPO \
|
||||||
|
|
5
server/hooks/pre_build
Executable file
5
server/hooks/pre_build
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||||
|
export DOCKER_BUILDKIT=1
|
||||||
|
docker buildx create --use
|
Reference in a new issue