Docker: Allow docker-build-full to work for BSD and GNU based systems (#65216)

* Replace tmp folder for tar stdin on build-docker-full

* Fix building linux/arm64 images using the Dockerfile
   Introduces JS_PLATFORM variable with linux/amd64 as default to allow building node packages.

* Revert unintended white line changes on Dockerfile
pull/65245/head
Guilherme Caulada 2 years ago committed by GitHub
parent 409bd33a8f
commit ac03c0efed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      Dockerfile
  2. 11
      Makefile

@ -2,12 +2,13 @@
ARG BASE_IMAGE=alpine:3.17 ARG BASE_IMAGE=alpine:3.17
ARG JS_IMAGE=node:18-alpine3.17 ARG JS_IMAGE=node:18-alpine3.17
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.20.1-alpine3.17 ARG GO_IMAGE=golang:1.20.1-alpine3.17
ARG GO_SRC=go-builder ARG GO_SRC=go-builder
ARG JS_SRC=js-builder ARG JS_SRC=js-builder
FROM ${JS_IMAGE} as js-builder FROM --platform=${JS_PLATFORM} ${JS_IMAGE} as js-builder
ENV NODE_OPTIONS=--max_old_space_size=8000 ENV NODE_OPTIONS=--max_old_space_size=8000

@ -165,15 +165,13 @@ shellcheck: $(SH_FILES) ## Run checks for shell scripts.
##@ Docker ##@ Docker
TMP_DIR!=mktemp -d
TAG_SUFFIX=$(if $(WIRE_TAGS)!=oss,-$(WIRE_TAGS)) TAG_SUFFIX=$(if $(WIRE_TAGS)!=oss,-$(WIRE_TAGS))
PLATFORM=linux/amd64 PLATFORM=linux/amd64
build-docker-full: ## Build Docker image for development. build-docker-full: ## Build Docker image for development.
@echo "build docker container" @echo "build docker container"
cp -Lrf . $(TMP_DIR) tar -ch . | \
DOCKER_BUILDKIT=1 \ docker buildx build - \
docker build $(TMP_DIR) \
--platform $(PLATFORM) \ --platform $(PLATFORM) \
--build-arg BINGO=false \ --build-arg BINGO=false \
--build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \ --build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \
@ -183,9 +181,8 @@ build-docker-full: ## Build Docker image for development.
build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development. build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
@echo "build docker container" @echo "build docker container"
cp -Lrf . $(TMP_DIR) tar -ch . | \
DOCKER_BUILDKIT=1 \ docker buildx build - \
docker build $(TMP_DIR) \
--platform $(PLATFORM) \ --platform $(PLATFORM) \
--build-arg BINGO=false \ --build-arg BINGO=false \
--build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \ --build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \

Loading…
Cancel
Save