This is a gradle image plus awscli, amazon-ecr-credential-helper and azure-cli tools
84
This image is based on the official gradle image with the addition of cloud CLIs such as awscli2, amazon-ecr-credential-helper plugin, and azure-cli tools.
Gradle is a build tool with a focus on build automation and support for multi-language development. If you are building, testing, publishing, and deploying software on any platform, Gradle offers a flexible model that can support the entire development lifecycle from compiling and packaging code to publishing web sites. Gradle has been designed to support build automation across multiple languages and platforms including Java, Scala, Android, C/C++, and Groovy, and is closely integrated with development tools and continuous integration servers including Eclipse, IntelliJ, and Jenkins.
If you are mounting a volume and the uid/gid running Docker is not 1000, you should run as user root (-u root).
root is also the default, so you can also simply not specify a user.
Run this from the directory of the Gradle project you want to build.
docker run --rm -u gradle -v "$PWD":/home/gradle/project -w /home/gradle/project eteration/gradle:latest gradle <gradle-task>
docker run --rm -v "${pwd}:/home/gradle/project" -w /home/gradle/project eteration/gradle:latest gradle <gradle-task>
docker run --rm -v "%cd%:/home/gradle/project" -w /home/gradle/project eteration/gradle:latest gradle <gradle-task>
Note the above command runs using uid/gid 1000 (user gradle) to avoid running as root.
The local Gradle cache can be reused across containers by creating a volume and mounting it to /home/gradle/.gradle. Note that sharing between concurrently running containers doesn't work currently (see #851).
Also, currently it's not possible to override the volume declaration of the parent.
So if you are using this image as a base image and want the Gradle cache to be written into the next layer, you will need to use a new user (or use the --gradle-user-home/-g argument) so that a new cache is created that isn't mounted to a volume.
docker volume create --name gradle-cache
docker run --rm -u gradle -v gradle-cache:/home/gradle/.gradle -v "$PWD":/home/gradle/project -w /home/gradle/project eteration/gradle:latest gradle <gradle-task>
cat << EOF > ./Dockerfile
FROM gradle:jdk11
RUN apt-get update \
&& apt-get install gettext libint1 curl unzip amazon-ecr-credential-helper azure-cli -y \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get autoremove -y \
&& apt-get clean
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
RUN unzip awscliv2.zip
RUN ./aws/install
EOF
$ docker build -t eteration/kubectl:latest ./Dockerfile
update.sh or update.ps1.Content type
Image
Digest
Size
623.1 MB
Last updated
about 5 years ago
docker pull eteration/gradle:jdk11