= Gradle Plugin for Docker This repository provides a Gradle plugin for working with Docker. The plugin contains tasks for building and pushing images based on a simple configuration block that specifies the container name, the `Dockerfile`, task dependencies, and any additional file resources required for the Docker build; tasks for populating placeholders in a docker-compose template file with image versions resolved from dependencies; and tasks for starting, stopping, and cleaning up a named container based on a specified image == Documentation === Tasks There are two task types * `DockerBuildTask` : task type for building a docker image * `DockerPushTask` : task type for pushing a docker image Apply the plugin using standard gradle convention: [source] ---- plugins { id 'org.xbib.gradle.plugin.docker' version '' } ---- === Extensions The extension with name `docker` has the following attributes: - `enabled` if the task is enabled or not, default is `true` - `executableName` the executable name of the docker binary, default is `docker` - `registry` the DNS name of the registry, default is empty - `imageName` the docker image name, default is empty - `tag` the docker image tag, default is empty (which means `latest` in docker terminology) [source] ---- docker { enabled = true registry = 'myhost.mydomain' imageName = 'myimage' tag = 'mytag' } ---- === Build a Docker image To build a docker image, run a task with type `DockerBuildTask`. ==== Example [source] ---- plugins { id 'distribution' id 'org.xbib.gradle.plugin.docker' } task buildDockerImage(type: DockerBuildTask, group: 'docker') { registry = 'hub.docker.com' imageName = 'username/my-app' tag = 'mytag' dockerfile { add(tasks.distTar.outputs.files.singleFile, '/') } } ---- === Push a Docker image To push an image to a docker image repository, run a task with tyep `DockerPushTask` == License This plugin is made available under the http://www.apache.org/licenses/LICENSE-2.0[Apache 2.0 License].