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 NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local
USE_PROXY ?= false USE_PROXY ?= false
RANGER_USER ?= ranger RANGER_USER ?= ranger
BASE_IMAGE ?= ubuntu:18.04
IMAGE_DIR:=images/$(IMAGE_NAME) IMAGE_DIR:=images/$(IMAGE_NAME)
@ -33,7 +34,7 @@ images: $(IMAGE_NAME)
$(IMAGE_NAME): $(IMAGE_NAME):
@echo " " @echo " "
@echo "===== Processing [$@] image =====" @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 # Create tgz of the chart
.PHONY: charts .PHONY: charts
@ -57,6 +58,7 @@ build_ranger:
ifeq ($(USE_PROXY), true) ifeq ($(USE_PROXY), true)
docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile \ docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile \
--build-arg user=$(RANGER_USER) \ --build-arg user=$(RANGER_USER) \
--build-arg BASE_IMAGE=${BASE_IMAGE} \
--build-arg http_proxy=$(PROXY) \ --build-arg http_proxy=$(PROXY) \
--build-arg https_proxy=$(PROXY) \ --build-arg https_proxy=$(PROXY) \
--build-arg HTTP_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) \
--build-arg NO_PROXY=$(NO_PROXY) . --build-arg NO_PROXY=$(NO_PROXY) .
else 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 endif
ifeq ($(PUSH_IMAGE), true) ifeq ($(PUSH_IMAGE), true)
@ -78,6 +80,7 @@ build_rangercli:
ifeq ($(USE_PROXY), true) ifeq ($(USE_PROXY), true)
docker build --network host -t $(IMAGE) --label $(LABEL) -f $(IMAGE_DIR)/Dockerfile \ 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 http_proxy=$(PROXY) \
--build-arg https_proxy=$(PROXY) \ --build-arg https_proxy=$(PROXY) \
--build-arg HTTP_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) \
--build-arg NO_PROXY=$(NO_PROXY) . --build-arg NO_PROXY=$(NO_PROXY) .
else 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 endif
.PHONY: clean .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 DEBIAN_FRONTEND noninteractive
ENV container docker 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 #ubuntu environment variables
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive