Default to ubuntu BASE_IMAGE in Dockerfile, modify make to only add --build-arg to build target if BASE_IMAGE is defined, document the use of BASE_IMAGE in README

This commit is contained in:
Matyas Markovics
2019-04-08 09:45:37 +02:00
parent 6d6395c58f
commit 36bd41108f
3 changed files with 21 additions and 7 deletions

View File

@@ -1,10 +1,11 @@
ifndef BASE_IMAGE ifdef BASE_IMAGE
BASE_IMAGE = ubuntu:18.04 BUILD_ARG = --build-arg BASE_IMAGE=$(BASE_IMAGE)
NAME ?= phusion/baseimage ifndef NAME
else ifdef NAME
else
NAME = phusion/baseimage-$(subst :,-,${BASE_IMAGE}) NAME = phusion/baseimage-$(subst :,-,${BASE_IMAGE})
endif endif
else
NAME ?= phusion/baseimage
endif
VERSION ?= 0.11 VERSION ?= 0.11
@@ -13,7 +14,7 @@ VERSION ?= 0.11
all: build all: build
build: build:
docker build -t $(NAME):$(VERSION) --build-arg BASE_IMAGE=$(BASE_IMAGE) --rm image docker build -t $(NAME):$(VERSION) $(BUILD_ARG) --rm image
test: test:
env NAME=$(NAME) VERSION=$(VERSION) ./test/runner.sh env NAME=$(NAME) VERSION=$(VERSION) ./test/runner.sh

View File

@@ -597,6 +597,19 @@ If you want to call the resulting image something else, pass the NAME variable,
make build NAME=joe/baseimage make build NAME=joe/baseimage
You can also change the `ubuntu` base-image to `debian` as these distributions are quite similar.
make build BASE_IMAGE=debian:stretch
The image will be: `phusion/baseimage-debian-stretch`. Use the `NAME` variable in combination with the `BASE_IMAGE` one to call it `joe/stretch`.
make build BASE_IMAGE=debian:stretch NAME=joe/stretch
To verify that the various services are started, when the image is run as a container, add `test` to the end of your make invocations, e.g.:
make build BASE_IMAGE=debian:stretch NAME=joe/stretch test
<a name="removing_optional_services"></a> <a name="removing_optional_services"></a>
### Removing optional services ### Removing optional services

View File

@@ -1,4 +1,4 @@
ARG BASE_IMAGE ARG BASE_IMAGE=ubuntu:18.04
FROM $BASE_IMAGE FROM $BASE_IMAGE
MAINTAINER Phusion <info@phusion.nl> MAINTAINER Phusion <info@phusion.nl>