Transmode / gradle-docker

A Gradle plugin to build Docker images from the build script.
Apache License 2.0
647 stars 142 forks source link

build stalls, tar file not fully uploaded using docker-machine #79

Open flozano opened 8 years ago

flozano commented 8 years ago

Env:

flozano:~$ docker --version
Docker version 1.10.3, build 20f81dd
flozano:~$ docker-machine --version
docker-machine version 0.6.0, build e27fb87

(tried with both virtualbox and vmware-fusion)

flozano:~$ gradle --version

------------------------------------------------------------
Gradle 2.12
------------------------------------------------------------

Build time:   2016-03-14 08:32:03 UTC
Build number: none
Revision:     b29fbb64ad6b068cb3f05f7e40dc670472129bc0

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_72 (Oracle Corporation 25.72-b15)
OS:           Mac OS X 10.11.3 x86_64

When I run my build docker task in OS X using docker-machine I get:

[buildinfo] Not using buildInfo properties file for this build.
:myproject-docker:clean
:myproject-docker:buildDocker
      [tar] Building tar: /Users/flozano/Projects/java/myproject/myproject-docker/build/docker/add_5.tar

and the build stalls, I need to CTRL+C it or it stays like that forever. In Linux, however, it works well.

I can see the process running like:

  501 79277 79198   0  3:19PM ttys000    0:00.16 docker build -t flozano/myproject:latest /Users/flozano/Projects/java/myproject/myproject-docker/build/docker

and, actually, if I run that same command outside of docker, the build works well!

The .tar file is 21MB in the build/ dir, but inside the docker-machine instance, I can see it's only around 6MB - somehow docker fails to upload the image properly when it runs inside gradle. In fact, I can see a running "docker-tar" process inside the VM.

I have tried increasing available memory for gradle (GRADLE_OPTS="-Xmx1024m") with no luck. Any idea?

flozano commented 8 years ago

This keeps happening. I go to the build/docker dir and do docker build . and it gets built perfectly with the generated Dockerfile, but from inside the gradle plugin it just stalls.