From 286fbd1203d4565f820951bcd7f617df1c57f3bd Mon Sep 17 00:00:00 2001 From: Suraj Narwade Date: Thu, 28 Sep 2017 14:01:52 +0530 Subject: [PATCH] Fixed kompose build failure While `local` build, kompose was not recognizing `dockerfile` key Hence it was breaking the build as mentioned in issue #832. This PR will fix the issue. --- pkg/transformer/utils.go | 2 +- pkg/utils/docker/build.go | 3 ++- .../fixtures/buildconfig/docker-compose-dockerfile.yml | 8 ++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 script/test/fixtures/buildconfig/docker-compose-dockerfile.yml diff --git a/pkg/transformer/utils.go b/pkg/transformer/utils.go index fefcbbc6..98e5e8cb 100644 --- a/pkg/transformer/utils.go +++ b/pkg/transformer/utils.go @@ -233,7 +233,7 @@ func BuildDockerImage(service kobject.ServiceConfig, name string, relativePath s // Use the build struct function to build the image // Build the image! build := docker.Build{Client: *client} - err = build.BuildImage(imagePath, imageName) + err = build.BuildImage(imagePath, imageName, service.Dockerfile) if err != nil { return err diff --git a/pkg/utils/docker/build.go b/pkg/utils/docker/build.go index 29f1d334..a395eecf 100644 --- a/pkg/utils/docker/build.go +++ b/pkg/utils/docker/build.go @@ -38,7 +38,7 @@ BuildImage builds a Docker image via the Docker API. Takes the source directory and image name and then builds the appropriate image. Tarball is utilized in order to make building easier. */ -func (c *Build) BuildImage(source string, image string) error { +func (c *Build) BuildImage(source string, image string, dockerfile string) error { log.Infof("Building image '%s' from directory '%s'", image, path.Base(source)) @@ -67,6 +67,7 @@ func (c *Build) BuildImage(source string, image string) error { Name: image, InputStream: tarballSource, OutputStream: outputBuffer, + Dockerfile: dockerfile, } // Build it! diff --git a/script/test/fixtures/buildconfig/docker-compose-dockerfile.yml b/script/test/fixtures/buildconfig/docker-compose-dockerfile.yml new file mode 100644 index 00000000..1ea177c0 --- /dev/null +++ b/script/test/fixtures/buildconfig/docker-compose-dockerfile.yml @@ -0,0 +1,8 @@ +version: "2" + +services: + foo: + build: + context: . + dockerfile: build/Dockerfile + image: docker.io/cdrage/foobar