Enable modular approach when setting base image

Enables Dockerfile to use a variable when
determining what base image Ranger will be
built on top of.

Change-Id: I73bfcc9d2a216042fe7dbeed7192a67df30cccb5
This commit is contained in:
jh629g 2020-01-20 14:05:43 -06:00
parent 4a5726139e
commit 63ccc0b276
3 changed files with 10 additions and 5 deletions

View File

@ -24,6 +24,7 @@ LATEST := latest
NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local
USE_PROXY ?= false
RANGER_USER ?= ranger
BASE_IMAGE ?= ubuntu:18.04
IMAGE_DIR:=images/$(IMAGE_NAME)
@ -33,7 +34,7 @@ images: $(IMAGE_NAME)
$(IMAGE_NAME):
@echo " "
@echo "===== Processing [$@] image ====="
@make build_$@ IMAGE=${DOCKER_REGISTRY}/${IMAGE_PREFIX}/$@:${COMMIT} IMAGE_DIR=images/$@ IMAGE_NAME=$@
@make build_$@ IMAGE=${DOCKER_REGISTRY}/${IMAGE_PREFIX}/$@:${COMMIT} BASE_IMAGE=${BASE_IMAGE} IMAGE_DIR=images/$@ IMAGE_NAME=$@
# Create tgz of the chart
.PHONY: charts
@ -57,6 +58,7 @@ build_ranger:
ifeq ($(USE_PROXY), true)
docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile \
--build-arg user=$(RANGER_USER) \
--build-arg BASE_IMAGE=${BASE_IMAGE} \
--build-arg http_proxy=$(PROXY) \
--build-arg https_proxy=$(PROXY) \
--build-arg HTTP_PROXY=$(PROXY) \
@ -64,7 +66,7 @@ ifeq ($(USE_PROXY), true)
--build-arg no_proxy=$(NO_PROXY) \
--build-arg NO_PROXY=$(NO_PROXY) .
else
docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile --build-arg user=$(RANGER_USER) .
docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile --build-arg BASE_IMAGE=${BASE_IMAGE} --build-arg user=$(RANGER_USER) .
endif
ifeq ($(PUSH_IMAGE), true)
@ -78,6 +80,7 @@ build_rangercli:
ifeq ($(USE_PROXY), true)
docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile \
--build-arg BASE_IMAGE=${BASE_IMAGE} \
--build-arg http_proxy=$(PROXY) \
--build-arg https_proxy=$(PROXY) \
--build-arg HTTP_PROXY=$(PROXY) \
@ -85,7 +88,7 @@ ifeq ($(USE_PROXY), true)
--build-arg no_proxy=$(NO_PROXY) \
--build-arg NO_PROXY=$(NO_PROXY) .
else
docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile .
docker build --network host -t $(IMAGE) --label $(LABEL) --build-arg BASE_IMAGE=${BASE_IMAGE} -f $(IMAGE_DIR)/Dockerfile .
endif
.PHONY: clean

View File

@ -1,4 +1,5 @@
FROM ubuntu:18.04
ARG BASE_IMAGE=ubuntu:18.04
FROM ${BASE_IMAGE}
ENV DEBIAN_FRONTEND noninteractive
ENV container docker

View File

@ -1,4 +1,5 @@
FROM ubuntu:18.04
ARG BASE_IMAGE=ubuntu:18.04
FROM ${BASE_IMAGE}
#ubuntu environment variables
ENV DEBIAN_FRONTEND noninteractive