如何将 gradle 添加到我的 alpine base docker 图像中
How to add gradle into my alpine base docker image
我使用 alpine 基础镜像创建了 docker 文件并构建了镜像。该图像包含 java:11 和 maven。 我也想包括 gradle。我该怎么做?
这是同样从 Whosebug 获取的 docker 文件。
from alpine:3.10
run apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
run apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates
run cd /opt && curl -sSl http://mirror.vorboss.net/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xz
env PATH "$PATH:/opt/apache-maven-3.6.3/bin"
entrypoint ["/bin/bash"]
我刚刚从 here 偷了东西:
FROM alpine:3.10
ENV GRADLE_VERSION 3.2
RUN apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
RUN apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates
RUN cd /opt && curl -sSl http://mirror.vorboss.net/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xz
RUN apk -U add --no-cache curl; \
curl https://downloads.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip > gradle.zip; \
unzip gradle.zip; \
rm gradle.zip; \
apk del curl; \
apk update && apk add --no-cache libstdc++ && rm -rf /var/cache/apk/*
ENV PATH "$PATH:/opt/apache-maven-3.6.3/bin:/gradle-${GRADLE_VERSION}/bin/"
ENTRYPOINT ["/bin/bash"]
更简单的版本只使用当前最新的 Alpine,它也有 Maven 3.6.3 的包和比上面更新的 Gradle。当然,您可以尝试各种版本。
FROM alpine:3.12.3
RUN apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
RUN apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates gradle maven
ENTRYPOINT ["/bin/bash"]
我使用 alpine 基础镜像创建了 docker 文件并构建了镜像。该图像包含 java:11 和 maven。 我也想包括 gradle。我该怎么做?
这是同样从 Whosebug 获取的 docker 文件。
from alpine:3.10
run apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
run apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates
run cd /opt && curl -sSl http://mirror.vorboss.net/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xz
env PATH "$PATH:/opt/apache-maven-3.6.3/bin"
entrypoint ["/bin/bash"]
我刚刚从 here 偷了东西:
FROM alpine:3.10
ENV GRADLE_VERSION 3.2
RUN apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
RUN apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates
RUN cd /opt && curl -sSl http://mirror.vorboss.net/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xz
RUN apk -U add --no-cache curl; \
curl https://downloads.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip > gradle.zip; \
unzip gradle.zip; \
rm gradle.zip; \
apk del curl; \
apk update && apk add --no-cache libstdc++ && rm -rf /var/cache/apk/*
ENV PATH "$PATH:/opt/apache-maven-3.6.3/bin:/gradle-${GRADLE_VERSION}/bin/"
ENTRYPOINT ["/bin/bash"]
更简单的版本只使用当前最新的 Alpine,它也有 Maven 3.6.3 的包和比上面更新的 Gradle。当然,您可以尝试各种版本。
FROM alpine:3.12.3
RUN apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
RUN apk add bash vim curl wget jq docker git tar unzip bash-completion ca-certificates gradle maven
ENTRYPOINT ["/bin/bash"]